我有一个shell脚本,我想在不使用“sh”或“bash”命令的情况下运行。例如:
而不是:sh script.sh
我想使用:script.sh
我该怎么做呢?
P.S. (i)我不太使用shell脚本,我试着阅读关于别名的内容,但我不知道如何使用它们。
(ii)我还读了关于将脚本链接到PATH变量中的另一个文件。我正在使用我的大学服务器,我没有权限在这些位置创建文件。
我有一个shell脚本,我想在不使用“sh”或“bash”命令的情况下运行。例如:
而不是:sh script.sh
我想使用:script.sh
我该怎么做呢?
P.S. (i)我不太使用shell脚本,我试着阅读关于别名的内容,但我不知道如何使用它们。
(ii)我还读了关于将脚本链接到PATH变量中的另一个文件。我正在使用我的大学服务器,我没有权限在这些位置创建文件。
当前回答
只是补充一下大家的建议。即使有了这些解决方案,如果用户希望以sudo的方式执行脚本,问题仍然会存在
例子: Chmod a+x /tmp/myscript.sh Sudo ln -s /tmp/myscript.sh /usr/local/bin/ myscript.sh
输入myscript可以工作,但输入sudo myscript将返回命令未找到。
作为sudo,你仍然必须键入sudo sh myscript或sudo bash myscript。
我想不出解决办法。
其他回答
输入“# !/bin/sh”。 然后将其保存为script.sh。 复制到$HOME/bin或$HOME/usr/bin 目录在不同的linux发行版上可能不同,但它们以'bin'结尾,并且位于主目录中 cd $HOME/bin或$HOME/usr/bin 输入chmod 700 script.sh 你可以在终端上输入run.sh来运行它。 如果不能正常工作,请尝试chmod +x run.sh而不是chmod 700 run.sh
只是:
/path/to/file/my_script.sh
在文件顶部添加一个“shebang”:
#!/bin/bash
并使您的文件可执行(chmod +x script.sh)。
最后,修改路径以添加脚本所在的目录:
export PATH=$PATH:/appropriate/directory
(通常,你需要$HOME/bin来存储你自己的脚本)
您必须为程序启用可执行位。
chmod +x script.sh
然后使用。/script.sh
您可以将该文件夹添加到.bashrc文件(位于您的主目录)的PATH中。 将这一行添加到文件的末尾:
export PATH=$PATH:/your/folder/here
只是补充一下大家的建议。即使有了这些解决方案,如果用户希望以sudo的方式执行脚本,问题仍然会存在
例子: Chmod a+x /tmp/myscript.sh Sudo ln -s /tmp/myscript.sh /usr/local/bin/ myscript.sh
输入myscript可以工作,但输入sudo myscript将返回命令未找到。
作为sudo,你仍然必须键入sudo sh myscript或sudo bash myscript。
我想不出解决办法。