我想提出以下参考:为脚本创建参考
例如,“ls”命令在大多数* nix环境中都可用。用户可以从任何地方输入以执行脚本。
所以,我写脚本“x”。我想确保从用户键入x的任何地方引用实际的脚本“x”。
因此,如果我有剧本“X”存储在家庭/用户/桌面目录,我不应该引用脚本如下:
home/user/Desktop/x
我应该能够做到:
x
谢谢!
我想提出以下参考:为脚本创建参考
例如,“ls”命令在大多数* nix环境中都可用。用户可以从任何地方输入以执行脚本。
所以,我写脚本“x”。我想确保从用户键入x的任何地方引用实际的脚本“x”。
因此,如果我有剧本“X”存储在家庭/用户/桌面目录,我不应该引用脚本如下:
home/user/Desktop/x
我应该能够做到:
x
谢谢!
您想将目录添加到您的PATH。例如。
PATH="$PATH:/home/user/someDirectory"
您可以将此行添加到.bash_profile
以在启动时执行此操作。但是,您可能不应该将Desktop添加到路径中,因为默认情况下某些浏览器会下载到该路径(尽管默认情况下它不应该是可执行的)。
您也可以将您的脚本放入已存在于路径中的现有目录中,例如/usr/local/bin
,或者在脚本的位置创建一个符号链接。
cp /home/user/Desktop/x /usr/local/bin
或
mv /home/user/Desktop/x /usr/local/bin
或
ln -s /home/user/Desktop/x /usr/local/bin
不要吝啬是令人讨厌的重复,但是这是我第一次回答一个问题,我不能回答的人是已经 - 好的答案,我认为他们错过了一些重要的部分。
首先,如果你想确保每个人都可以访问该脚本,你需要确保每个人都有执行权限:
chmod a+x /path/to/script.sh
你还需要确保它在某处$ PATH引用(如提到的其他答案):
echo $PATH # place the script in one of these directories
我个人比较喜欢的/ usr/local/bin目录,因为这是被认为的地方自定义全局脚本。其他答案没有提到的是,如果你想要使用$ PATH中的一个目录(比如/ opt/myscriptfolder /),你需要在/ etc/profile结尾处添加另一个PATH条目:
PATH="$PATH:/opt/myscriptfolder/"
通过将此置于/ etc/profile的末尾,所有用户将在其下次登录时收到此修改的PATH变量。