从applescript运行一行中的shell脚本并提供输入

时间:2017-03-17 17:43:45

标签: macos applescript macos-sierra

我正在尝试自动安装需要从MacOS上的终端运行的程序。这似乎很简单,但安装脚本需要以root(或sudo)身份运行,并从运行它的根目录中查找文件,然后在完成之前查找用户提供密码作为终端输入。我不介意以可读格式提供密码,因为我们只在内部使用密码,密码将在我们完成此项目后立即更改。

到目前为止我有以下内容并且它无法正常工作,因为它似乎不接受我在响应文件中的输入。我正在使用睡眠来等待执行第一步所需的一些时间。

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: No such file or directory
ERROR 2 when mkdir in CreateDirectory - No such file or directoryERROR 2 when mkdir in CreateDirectory - No such file or directory
Please enter your password.
(null)(null)(null)(null)(null)" number 8

我会第一个承认我是一个彻头彻尾的Noob!谢谢你的耐心等待!

1 个答案:

答案 0 :(得分:0)

好的,所以我已经在你的命令中看到了一些错误。而且你似乎还不清楚你想要实现的目标。然而,让我们坚持第一步,而不是提出很多问题并引起混淆。

错误消息的第一部分显示为:error "/bin/sh: ./setup: No such file or directory。所以这可能表明:

  1. 〜/ Desktop / setup不存在。 (检查是否确实如此)。
  2. 〜/桌面/设置未正确指定,您需要添加文件扩展名(例如〜/ Desktop / setup.sh)
  3. 您没有执行该文件的适当权限。因此,您应该执行chmod u+x之类的操作,以便为当前用户提供执行权限。 (和sudo chmod u+x为root)。
  4. 看看你是否可以先通过。学习编码通常意味着首先采取婴儿步骤。

    祝你好运。