Macos 在applescript的一行中运行shell脚本并提供输入
我正在尝试自动安装一个需要在MacOS终端上运行的程序。这看起来很简单,但安装脚本需要以root(或sudo)身份运行,并从运行它的根目录中查找文件,然后在完成之前寻找用户提供密码作为终端输入。我不介意以可读的格式提供密码,因为我们将只在内部使用它,密码将在我们完成此项目后很快更改 到目前为止,我有以下内容,但它不起作用,因为它似乎不接受来自响应文件的输入。我用睡眠来等待执行第一步所需的几分钟Macos 在applescript的一行中运行shell脚本并提供输入,macos,applescript,macos-sierra,Macos,Applescript,Macos Sierra,我正在尝试自动安装一个需要在MacOS终端上运行的程序。这看起来很简单,但安装脚本需要以root(或sudo)身份运行,并从运行它的根目录中查找文件,然后在完成之前寻找用户提供密码作为终端输入。我不介意以可读的格式提供密码,因为我们将只在内部使用它,密码将在我们完成此项目后很快更改 到目前为止,我有以下内容,但它不起作用,因为它似乎不接受来自响应文件的输入。我用睡眠来等待执行第一步所需的几分钟 do shell script "cd ~/Desktop/; ./setup; /bin/sleep
do shell script "cd ~/Desktop/; ./setup; /bin/sleep 5; ~/Desktop/MyApp/Tools/RunThis_WithVarialbles -s blah.com -someOtherVaiable -u uName@blah.com < ~/Desktop/sccm/Tools/response.txt" password "passwdIDCisVisible`enter code here`" with administrator privileges
我会第一个承认我是个彻头彻尾的笨蛋!谢谢你的耐心 好的,我已经看到你的命令中有几个错误了。而且似乎还不清楚你想要实现什么。然而,与其问很多问题并造成混乱,不如让我们坚持第一步
do shell script "cd ~/Desktop/; ./setup; /bin/sleep 5; ~/Desktop/MyApp/Tools/RunThis_WithVarialbles -s blah.com -someOtherVaiable -u uName@blah.com < ~/Desktop/sccm/Tools/response.txt" password "passwdIDCisVisible`enter code here`" with administrator privileges
错误消息的第一部分显示:error”/bin/sh:./setup:没有这样的文件或目录
。因此这可能表明:
chmod u+x
的操作,以将执行权限授予当前用户。(对于root用户,sudo chmod u+x
)祝您好运。问题可能出在
/setup
,因此您可能应该发布该问题的代码。../setup是供应商提供的可执行二进制文件。感谢您的帮助!请参阅下面我对您的答复…1。~/Desktop/setup确实存在,它是软件供应商编译的二进制文件,不是我可以编辑的脚本。是的,我可以验证它是一个听起来很奇怪的二进制文件。2.~/Desktop/setup没有扩展名。3.它已经是可执行文件了。好的,但还有两个问题:您是如何确定它是可执行的?您能否发布ls-l
的输出以便我们可以确定?另外,如果它是二进制文件,如果您不指定特定的pr,它将永远不会运行在当前命令中,您试图将其作为常规shell脚本运行,但由于BASH和ZSH等常规shell无法自行执行,因此无法运行。