Bash 从Automator向shell脚本传递多个参数

Bash 从Automator向shell脚本传递多个参数,bash,shell,automator,Bash,Shell,Automator,原谅一个新手的问题。我到处找,但没有发现类似的情况 我正在尝试创建一个自动过程,在这个过程中,我可以向jpg图像添加关键字 我正在使用Hazel监控Mac上的一个文件夹,当它找到一个文件时,它会调用一个Automator工作流脚本。因此,脚本已经收到一个参数(文件名和路径) shell脚本执行以下操作(使用pass输入:作为参数)(shell:/bin/bash) 到目前为止一切正常。我不知道的是如何从Automator传递第二个参数,该参数允许我从对话框中输入关键字 我尝试创建一个文本字段(操

原谅一个新手的问题。我到处找,但没有发现类似的情况

我正在尝试创建一个自动过程,在这个过程中,我可以向jpg图像添加关键字

我正在使用Hazel监控Mac上的一个文件夹,当它找到一个文件时,它会调用一个Automator工作流脚本。因此,脚本已经收到一个参数(文件名和路径)

shell脚本执行以下操作(使用pass输入:作为参数)(shell:/bin/bash)

到目前为止一切正常。我不知道的是如何从Automator传递第二个参数,该参数允许我从对话框中输入关键字

我尝试创建一个文本字段(操作:请求文本),并用“$2”更新硬编码值“myKeyWord”,但它给我一个错误,指出“1个文件由于错误而未更新”

任何帮助都将不胜感激

提前感谢,


Thomas

循环针对脚本的每个参数进行迭代。但是,在循环中只使用第一个参数:
$1
,而不是
$f
。因此,如果使用3个参数调用脚本,它将执行以下操作:

exiftool -keywords=myKeyWord "$1"
exiftool -delete_original! "$1"
exiftool -keywords=myKeyWord "$1"
exiftool -delete_original! "$1"
exiftool -keywords=myKeyWord "$1"
exiftool -delete_original! "$1"

也许你的意思是这样做(没有循环)?只是猜测:

exiftool -keywords="$2" "$1"
exiftool -delete_original! "$1"

是的,这正是我想做的。我删除了循环语句,但它仍然不起作用。该语句现在仅为:do exiftool-keywords=“$2”“$1”exiftool-delete_original!“$1”完成我是否遗漏了什么?@user3595091删除
do
done
,它们不应该在那里。还可以尝试使用
set-x执行
,看看如果它仍然不起作用会发生什么。我不知道该命令需要什么,您需要检查手册页..我会尝试一下。非常感谢你的帮助!
exiftool -keywords="$2" "$1"
exiftool -delete_original! "$1"