2010-07-07 87 views
1

我想提出以下参考:为脚本创建参考

例如,“ls”命令在大多数* nix环境中都可用。用户可以从任何地方输入以执行脚本。

所以,我写脚本“x”。我想确保从用户键入x的任何地方引用实际的脚本“x”。

因此,如果我有剧本“X”存储在家庭/用户/桌面目录,我不应该引用脚本如下:

home/user/Desktop/x 

我应该能够做到:

x 

谢谢!

回答

2

您想将目录添加到您的PATH。例如。

PATH="$PATH:/home/user/someDirectory" 

您可以将此行添加到.bash_profile以在启动时执行此操作。但是,您可能不应该将Desktop添加到路径中,因为默认情况下某些浏览器会下载到该路径(尽管默认情况下它不应该是可执行的)。

1

您也可以将您的脚本放入已存在于路径中的现有目录中,例如/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 
0

不要吝啬是令人讨厌的重复,但是这是我第一次回答一个问题,我不能回答的人是已经 - 好的答案,我认为他们错过了一些重要的部分。

首先,如果你想确保每个人都可以访问该脚本,你需要确保每个人都有执行权限:

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变量。