首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Mac Automator运行Shellscript

从Mac Automator运行Shellscript
EN

Stack Overflow用户
提问于 2014-08-06 20:59:57
回答 3查看 21.4K关注 0票数 12

在OS X 10.9.5中

我写了一个Shell脚本(通过vim)。保存它并导航到此脚本,然后

它运行完美(在iTerm和sh code.sh终端)。

同一目录中的相同命令通过Mac Automator总是产生错误。为什么?

在Automator和Terminal中。

echo $SHELL /bin/bash为什么不能通过自动化程序运行外壳脚本。

EN

回答 3

Stack Overflow用户

发布于 2016-07-11 22:27:20

这个问题可以通过在当前代码上添加以下代码来解决:

代码语言:javascript
复制
export PATH=/usr/local/bin:$PATH
票数 11
EN

Stack Overflow用户

发布于 2014-08-06 21:15:06

我怀疑是cd Desktop的问题。您可以尝试:

代码语言:javascript
复制
(cd ~/Desktop; sh code.sh)

但是:

  • 你应该让code.sh成为可执行的,这样你就不需要用sh来调用它了。这是使用chmod 0755 code.sh.
  • If完成的,您需要shell脚本从某个目录(即脚本所在的目录)中工作,然后将其构建到脚本中,以便只需使用~/Desktop/code.sh即可调用:

#!/bin/bash dir=$(dirname $0) cd $dir # do work

例如:

代码语言:javascript
复制
➜  ~  cat tmp/code.sh
#!/bin/bash
dir=$(dirname $0)
cd $dir
ls -l

➜  ~  chmod 0755 tmp/code.sh
➜  ~  tmp/code.sh
total 64
drwxr-xr-x   6 andy  staff    204 Feb 22 18:53 Archives
drwxr-xr-x  11 andy  staff    374 Jun 18 13:59 DerivedData
-rw-r--r--   1 andy  staff    225 May 20 13:44 MyFirstProgram.X
-rwxr-xr-x   1 andy  staff   3072 May 20 13:44 MyFirstProgram.exe
drwxr-xr-x   3 andy  staff    102 Jan  6  2014 bug_reports
-rwxr-xr-x   1 andy  staff     43 Aug  6 14:15 code.sh
-rw-r--r--   1 andy  staff  11539 May 20 08:33 iOS_Team_Provisioning_Profile_.mobileprovision
-rw-r--r--   1 andy  staff   1438 May 20 08:40 ios_development.cer
-rwxr-xr-x   1 andy  staff    272 Aug  5 08:55 script.sh
票数 4
EN

Stack Overflow用户

发布于 2014-09-03 17:28:28

解决方案

创建两个输出文件: In Automator:env > ~/Desktop/file_1.txt in iTerm:env > ~/Desktop/file_2.txt

比较

diff -y ~/Desktop/file_1.txt ~/Desktop/file_2.txt

而且,瞧,这里有一些有趣的区别!在脚本中插入不同之处,例如export LANG=de_DE.UTF-8,它就可以工作了!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25161100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档