从 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
命令。
请注意您的原始命令(修改后):您需要使用 &&
,而不是 &
来加入命令 - 后者在 中启动前面的命令背景.
我想从 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
命令。
请注意您的原始命令(修改后):您需要使用 &&
,而不是 &
来加入命令 - 后者在 中启动前面的命令背景.