0

这是我第一次使用 Automator,它似乎是一个非常漂亮的工具。但是在自动化的最后,我遇到了一个问题。我的自动化工作流程的目标是指定一个路径,然后创建一个目录Highschool1,例如,在该路径中。
从这里,我希望它搜索指定路径中名称中包含“Highschool1”的任何文件,并将它们移动到新Highschool1目录中。这是我的 bash 脚本在终端中的工作方式:

mkdir "/Users/tommy/Desktop/TestShow1/WG/Highschool1"

这将按预期创建目录。然后:

find /Users/tommy/Desktop/TestShow1/WG -name 'Highschool1' -prune -o -type f -name '*Highschool1*' -exec mv -- {} /Users/tommy/Desktop/TestShow1/WG/Highschool1 \;

这会在排除新Highschool1目录的同时找到我想要的文件,然后将找到的文件移动到该Highschool1目录中。这一切都在基地按预期工作。

当我尝试使用位置参数在我的自动化中应用此脚本时,它会停止工作。

自动化第 1 部分

自动化第 2 部分

-我用输入“Highschool1”填充一个名为“HighschoolName”的变量 -然后我用输入
填充一个名为“pathA”的变量,这是我选择的路径:“/Users/tommy/Desktop/TestShow1/WG” -
然后我回调我的 HighschoolName 变量并从位置参数开始。

这是我使用的最终脚本:

mkdir "$1/$2"

find /$1 -name '$2' -prune -o -type f -name '*$2*' -exec mv -- {} /$1/$2 \;

这将创建Highschool1我想要的目录,但无法将任何文件移动到其中。它也没有给我任何错误信息。它就像脚本成功运行一样。有谁知道问题可能是什么?

4

1 回答 1

1

阅读关于引用

在:

find /$1 -name '$2' -prune -o -type f -name '*$2*' -exec mv -- {} /$1/$2 \;

'$2'不会插入变量,您需要使用"$2"(对于 相同'*$2*'

于 2020-02-05T05:51:38.720 回答