我有一个要在文件夹上运行的自动化脚本。我希望脚本将文件夹中的每个文件都包含在内并在其上运行我的shell命令。 Automator设置为将输入传递给stdin,但我认为下面我没有正确使用stdin,请您能帮忙吗?

for f in "$@"
do
    java -Xmx1000m -jar /Users/myprog/myprog.jar $f
done

最佳答案

特殊变量$@表示提供给脚本的所有命令行参数。

for循环逐步执行每个循环,并每次执行jar文件。您可以将脚本缩短为:

for f
do
    java -Xmx1000m -jar /Users/myprog/myprog.jar "$f"
done


因为for的默认行为是使用$@

如果参数中有空格,则应在Java命令的末尾加上$ f引号。

07-24 19:20
查看更多