gpt4 book ai didi

shell - Automator:操作 “Run Shell Script” 遇到错误:无法执行二进制文件

转载 作者:行者123 更新时间:2023-12-04 13:42:16 24 4
gpt4 key购买 nike

我正在尝试通过 Automator“运行 Shell 脚本”在 Finder 中的选定文件/文件夹上运行命令行应用程序作为 OS X 10.14 Mohave 中的 QuickAction/Service。

Problem Automator shell script

我不断收到 The action “Run Shell Script” encountered an error: “/Users/me/test/test1.zip: /Users/me/test/test1.zip: cannot execute binary file”对于任何选定的项目。选定的目录返回 : Is a directory在末尾。

我过去写过类似的 Automator shell 脚本,但从未遇到过这个错误。

我已经阅读了我在 [Automator] 上能找到的所有问题[shell]和“Automator 遇到错误:无法执行二进制文件”并且无法找到解决方案。

我添加了路径语句以确保可执行文件在路径中。最好的解决方案似乎是 source ~/.bash_profile但我试过 export PATH=/usr/local/bin:$PATH以及。

可执行文件具有适当的权限并且位于以下路径中:

→ wl artest
/usr/local/bin/artest
-rwxr-xr-x 1 me admin 14004618 Mar 25 20:46 /usr/local/bin/artest

shell 脚本中的相同代码可以完美执行。

参数是错误的事实使我相信这不是问题所在的脚本。我只使用没有其他参数的帮助开关对此进行了测试:
#!/usr/bin/env bash
source ~/.bash_profile
artest -h

但得到同样的错误。

我更喜欢将所有参数传递给 artest,因为它是多线程的,但我尝试遍历参数:
for f in "$@"
do

并基于另一个问题,为了测试我能想到的一切,我省略了明确的所有论点:
for f
do

虽然这在早期的 Automator 工作流程中仍然有效(见下文),但我因同样的错误而失败。

我已经尝试根据此处的其他问题添加 shebang 语句,尽管我以前的 shell 脚本工作流程没有一个也能正常工作。我原以为上面的 shell 选择菜单中已经涵盖了这一点,例如“/bin/bash”

我读过一些问题,其中指出“运行 Shell 命令”与在终端中运行不同,但老实说,我找不到解决方案,10.14 中编写的操作也无法正常工作,而我以前的操作系统(和 Automator)版本的服务工作流继续运行工作正常。

我觉得我在这里遗漏了一些基本的东西(或者新的 Automator 版本中有一个主要的错误),但我就是看不到它。

这个 shell 脚本虽然工作正常:

Working Automator shell script

最佳答案

您可能需要进入“安全和隐私”系统首选项并授予 Automator 完整磁盘访问权限。

关于shell - Automator:操作 “Run Shell Script” 遇到错误:无法执行二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55350151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com