使用LaunchControl运行时出现在bash脚本中的错误

时间:2015-11-22 06:08:48

标签: ruby macos bash applescript rvm

我有以下脚本

#!/usr/bin/env ruby
Dir.chdir('/Users/Chris/Sites/mentor') do
  audit = `/Users/Chris/.rvm/gems/ruby-2.1.6@mentor/bin/bundle-audit`
  system(%(osascript -e 'display notification "#{audit}" with title "bundle-audit"'))
end

当我从本地文件夹运行它时会发出类似

的通知
bundle-audit
No vulnerabilities found

但是,当LaunchControl定期运行相同的脚本时,通知只是

bundle-audit

stderr输出

env: ruby_executable_hooks: No such file or directory

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

解决此问题的方法是使用教程here。我总结了下面的方法。摘要包括我按照教程时发生的问题的修复。

我的ruby任务名为daily_checks.rb,如下所示:

#!/usr/bin/env ruby
Dir.chdir('/Users/Chris/Documents/Sites/mentor') do
  audit = `bundle-audit`
  system(%(osascript -e 'display notification "#{audit}" with title "bundle-audit"'))
end

/usr/local/bin/regular_checks.sh设置包含以下内容的RVM别名和bash文件:

#!/bin/bash
    /Users/Chris/.rvm/wrappers/regular_checks/ruby /Users/Chris/Documents/Sites/mentor/script/daily_checks.rb

请注意,由于添加了#!/bin/bash行,上述内容与教程不同。

完成此操作后,launchControl将成功运行bundle-audit命令。