Bash 脚本什么也不做

Bash 脚本什么也不做

我正在尝试创建一个可以在终端的任何地方运行的 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 脚本尚未调用testtest.sh因此要运行它,您需要输入:

$ test.sh

然而,这不是唯一的问题。你的命令ln -s ./test.sh /usr/bin并没有完全按照你的想法执行 -./test.sh是一个相对路径,而相对路径的链接是相对于链接位置的,不是相对于您输入命令时所在的位置。

你实际上想要的是类似这样的东西:

$ ln -s /home/babbleshack/test.sh /usr/bin

...此时事情应该会顺利进行。


1从技术上讲,不成功什么也不做(换句话说,它返回一个非零错误代码)。如果这对你来说毫无意义,别担心——这对这个答案的目的来说并不重要。

相关内容