OS X shell脚本可执行文件不起作用



我有一个我要使可执行文件的shell脚本。

这是脚本:(它还没有做任何有用的事情。只是试图使其正确运行)

#!/bin/sh
function rip_it_good(){
    echo "function called"
}
rip_it_good

首先,我使其可执行:

$ chmod +x ripitgood.sh

到目前为止,一切都很好。如果我从本地目录中的终端运行

$ ./ripitgood.sh

它运行良好,我得到了"称为函数"的正确输出。

接下来我从/usr/local/bin

链接到它
$ sudo ln -s ripitgood.sh /usr/local/bin/ripitgood

但是,如果我尝试使用新创建的链接运行它:

$ ripitgood

我有一个错误

" - bash:ripitgood:找不到命令"

我检查了,/usr/local/bin在我的路径中

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin

我尝试直接运行

$ /usr/local/bin/ripitgood
-bash: /usr/local/bin/ripitgood: No such file or directory

所以,我打开了查找器并检查了,是的,链接" ripitgood"存在于/usr/local/bin目录中

我仍然可以从居住的目录中运行它:

./ripitgood.sh
function called

我缺少什么?

问题在于您如何创建符号链接:

sudo ln -s ripitgood.sh /usr/local/bin/ripitgood

符号链接实际上是ripitgood.sh,但是/usr/local/bin中没有ripitgood.sh。尝试创建这样的符号链接:

sudo ln -s $(pwd)/ripitgood.sh /usr/local/bin/ripitgood

将使用Symlink中ripitgood.sh的完整,绝对的路径。

最新更新