双击以在mac上运行带有ruby脚本的shell脚本

时间:2016-05-29 11:06:19

标签: ruby macos shell

我有一个shell脚本

#!/bin/bash
echo "starting"
file="path_to_file/ruby_file.rb"
echo $file
ruby $file
echo "ended"

当我从命令行运行它时它工作正常。

当我在Finder上双击它时,它没有。

我对正在打印的ruby脚本有一些看法,但是我正在进行文件操作(重命名)并且它们没有完成。更重要的是,我收到以下错误:

(我在结束时取消选中会自动关闭会话)

  

-bash:shell_session_update:找不到命令

结果如下:

/path_to_shell_script/renamer.sh; exit;
starting
/path_to_ruby_script/renamer.rb
ruby is renaming
 ruby finished renaming
ended
logout
-bash: shell_session_update: command not found -> This doesn't happen when I run it from the command line.

1 个答案:

答案 0 :(得分:1)

从shell运行shell脚本(即在命令行上)时,它具有该shell的上下文,包括当前目录设置和环境变量设置。

当它从取景器运行时,它没有。

如果您使用任何相关文件规范,则可能找不到这些文件。

如果你的问题在运行时当前目录,那么你可以在脚本本身放一个cd命令来切换到正确的目录。