从 AppleScript 调用 fdupes

Calling fdupes from AppleScript

我想从 AppleScript 运行 fdupes . -dN ~/Desktop/md 目录。

do shell script "/bin/bash fdupes ~/Desktop/wd ." with administrator privileges

我遇到了这个错误

error "/bin/bash: fdupes: No such file or directory" number 127

但我可以在终端上发出这个命令就好了。

我使用 brew install fdupes

从终端安装了命令行

do shell script语句:

  • 执行sh传递的命令,在POSIX兼容模式下是bash运行。
  • 使用 $PATH 变量的精简版本,在我的 OSX 10.10.3 系统上,相当于:/usr/bin:/bin:/usr/sbin:/sbin
  • 运行s root目录下的命令,/.

因此:

  • 无需显式调用 bash(假设您没有使用 POSIX 兼容模式下不可用的功能,例如 <(...)(进程替换))。
  • 您必须使用 完整 路径调用非预安装的实用程序(或将目录附加到 /usr/local/bin$PATH 变量作为命令)。

假设fdupes/usr/local/bin(相应调整):

do shell script "/usr/local/bin/fdupes ~/Desktop/wd ." with administrator privileges

但请注意,. 将默认引用 / - 根据需要添加 cd 命令。

请注意您的原始命令(修改后):您需要使用 &&,而不是 & 来加入命令 - 后者在 中启动前面的命令背景.