我有一个用automator制作的液滴,当我将它们放在应用程序图标上的某个文件夹时会移动文件。
现在脚本看起来像这样:
for f in "$@"
do
cp "$f" "volumes/testdrive/testfolder/$(basename "$f")"
done
我想知道是否可以执行命令来检测是否有多个文件输入到脚本中,然后使用zip功能将其归档并移动到同一文件夹,如果删除了单个文件,请将文件定期复制到指定文件夹。 / p>
答案 0 :(得分:2)
使用条件,类似(语法可能会偏离):
if [ $# > 1 ]
then zip $@ > /path/to/location/foo.zip # this line might need to be researched
else cp $@ /path/to/location/`basename $@`
fi
您不希望使用for循环执行此操作,因为它会经历为选择中的每个文件创建zip存档的严格要求。如果你正在做的是移动每一个,那么确定,使用一个循环,但你只是把它们全部拿去并拉链它们
答案 1 :(得分:0)
$#
包含传递给脚本的参数数量。