Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos OS X外壳脚本可执行文件不工作_Macos_Bash_Terminal_Symlink - Fatal编程技术网

Macos OS X外壳脚本可执行文件不工作

Macos OS X外壳脚本可执行文件不工作,macos,bash,terminal,symlink,Macos,Bash,Terminal,Symlink,我有一个shell脚本,我正试图使其可执行 以下是脚本:(它还没有做任何有用的事情。只是试图让它正常运行) 首先,我使其可执行: $ chmod +x ripitgood.sh 到目前为止,一切顺利。如果我从本地目录中的终端运行它 $ ./ripitgood.sh 它运行得很好,我得到了“函数调用”的正确输出 接下来,我从/usr/local/bin链接到它 $ sudo ln -s ripitgood.sh /usr/local/bin/ripitgood 但是如果我尝试使用新创建的链接

我有一个shell脚本,我正试图使其可执行

以下是脚本:(它还没有做任何有用的事情。只是试图让它正常运行)

首先,我使其可执行:

$ 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
因此,我打开finder并检查,是的,/usr/local/bin目录中存在链接“ripitgood”

我仍然可以从它所在的目录运行它:

./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

这将使用符号链接中
ripitgood.sh
的完整绝对路径。

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

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

这将使用符号链接中
ripitgood.sh
的完整绝对路径。

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

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

这将使用符号链接中
ripitgood.sh
的完整绝对路径。

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

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

这将使用符号链接中的完整绝对路径
ripitgood.sh

非常好。我假设它会考虑到这样一个事实,即在我运行
ln-s
命令时脚本在PWD中。我假设它会考虑到这样一个事实,即在我运行
ln-s
命令时脚本在PWD中。我假设它会考虑到这样一个事实,即在我运行
ln-s
命令时脚本在PWD中。我假设它会考虑这样一个事实,即在我运行
ln-s
命令时,脚本在PWD中。