在 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" \;
目前我正在 运行 在 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" \;