我正在尝试创建一个可以在终端的任何地方运行的 shell 脚本,
脚本只是回应了一条消息
#!/bin/bash
echo "Excellent work Snake!"
我改变了脚本的权限
chmod 775 test.sh
该脚本位于我的文档中,我使用以下命令创建了到 /usr/bin 的符号链接
ln -s ./test.sh /usr/bin
例如,当我在家里运行脚本时,没有消息回显,什么也没有发生,例如
babbleshack@babbleshack ~ $ test
babbleshack@babbleshack ~ $
我是不是没理解什么?
答案1
test
是一个 bash内置- 不带参数调用,如您的示例所示,它什么也不做1。
您的 shell 脚本尚未调用test
,test.sh
因此要运行它,您需要输入:
$ test.sh
然而,这不是唯一的问题。你的命令ln -s ./test.sh /usr/bin
并没有完全按照你的想法执行 -./test.sh
是一个相对路径,而相对路径的链接是相对于链接位置的,不是相对于您输入命令时所在的位置。
你实际上想要的是类似这样的东西:
$ ln -s /home/babbleshack/test.sh /usr/bin
...此时事情应该会顺利进行。
1从技术上讲,不成功什么也不做(换句话说,它返回一个非零错误代码)。如果这对你来说毫无意义,别担心——这对这个答案的目的来说并不重要。