运行 Automator 中使用位置参数的 bash 脚本

Run a bash script within Automator using positional parameters

这是我第一次使用 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 目录中。基地一切正常。

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

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

这是我最后使用的脚本:

mkdir "/"

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

这会在我想要的位置创建目录 Highschool1,但无法将任何文件移动到其中。它也没有给我任何错误信息。它的作用就好像脚本 运行 成功一样。有人知道问题出在哪里吗?

了解 quoting

在:

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

''不会插入变量,你需要使用""'**'相同)