在 Automator 中使用 "Run Shell Script" 时无法定义变量

Unable to define variables while using "Run Shell Script" in Automator

目前我正在 运行 在 Automator 中跟踪脚本,它 运行 非常好:

#Copy Originals to SS1 on the main Server
find /Volumes/styleshoot/TJXE-HHPS-SS01/ -type f -exec cp -p {} "/Volumes/Hams Hall Workspace/StyleShoot1_WIP" \;

#Make Directory for Styleshoot 1 Backups
mkdir -p /Volumes/Hams\ Hall\ Workspace/SS\ Backup/$(date +%Y%m%d)/SS1

#Copy SS1 for into Backup folder
find /Volumes/styleshoot/TJXE-HHPS-SS01/ -type f -exec mv {} /Volumes/Hams\ Hall\ Workspace/SS\ Backup/$(date +%Y%m%d)/SS1 \;

尽管如此,我打算在引入一些变量的同时使其更清晰,例如:

Original="/Volumes/styleshoot/TJXE-HHPS-SS01/"
Backup="/Volumes/Hams\ Hall\ Workspace/SS\ Backup/$(date +%Y%m%d)/SS1"
MainServer="/Volumes/Hams Hall Workspace/StyleShoot1_WIP"

mkdir -p "$Backup"

find "$Original" -type f -exec cp -p {} "$MainServer" \;
find "$Original" -type f -exec mv {} "$Backup" \;

但是当我 运行 它时 - 没有任何反应。我在这个论坛上发现了很多类似的问题,其中主要解决方案是删除 = 周围的空格。虽然它对输出没有影响。任何建议将不胜感激。

如果有人会用谷歌搜索这个,问题出在我试图定义 mkdir 位置时。 "" 不需要双引号。

改变这个:

Backup="/Volumes/Hams\ Hall\ Workspace/SS\ Backup/$(date +%Y%m%d)/SS1"

对此:

Backup=/Volumes/Hams\ Hall\ Workspace/SS\ Backup/$(date +%Y%m%d)/SS1 

最终脚本如下,功能如愿:

Original="/Volumes/styleshoot/TJXE-HHPS-SS01/"
Backup=/Volumes/Hams\ Hall\ Workspace/SS\ Backup/$(date +%Y%m%d)/SS1
MainServer="/Volumes/Hams Hall Workspace/StyleShoot1_WIP"

mkdir -p "$Backup"

find "$Original" -type f -exec cp -p {} "$MainServer" \;
find "$Original" -type f -exec mv {} "$Backup" \;