【问题标题】:Calling fdupes from AppleScript从 AppleScript 调用 fdupes
【发布时间】:2015-04-17 00:06:44
【问题描述】:

我想通过 AppleScript 在 ~/Desktop/md 目录上运行 fdupes . -dN

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从终端安装了命令行

【问题讨论】:

    标签: bash shell applescript


    【解决方案1】:

    do shell script 声明:

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

    因此:

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

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

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

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

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

    【讨论】:

    • do shell script "/usr/local/bin/fdupes fdupes ~/Desktop/wd ." 执行命令谢谢
    猜你喜欢
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 2011-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多