我有一台Linux机器,我有一个名为load_info的脚本,脚本位于/ var
我希望能够从另一个目录运行load_info脚本,而不必在命令前加“./”
例如,如果我在/ root中,我希望能够inputload_info (不带./),并执行/var/load_info脚本。
那么我该如何做到这一点,如果我cd /root ,我可以inputload_info ,并运行/ var / load_info脚本。
如果没有完全限定(例如vi而不是/usr/bin/vi ),shell会search$PATH环境variables中列出的types命令的path。 通过在~/.profile或~/.bashrc添加一行,可以轻松地为$PATHvariables添加另一个path:
export PATH="$PATH:/path/to/your/scripts"
作为一种最佳实践,您还应将脚本保存在/usr/local/bin或/usr/local/sbin ,请参阅hier(7) 。
您需要将脚本的位置放在名为PATH的环境variables中。
环境variables就像在shell中使用的普通variables,只是它们在整个login过程中都是持久的。 而且,如果您将它们设置为在您login时加载到您的环境中,则它们将始终设置为可用。
PATHvariables可以帮助shellfind你input的命令。 它的值是shell在每次input命令时search的目录列表。 目录名称用冒号分隔。
如果使用的是bash shell(Linux中最常用的shell),那么可以通过在命令提示符处inputecho $PATH来查看PATHvariables中的目录。
我们只需要说load_info脚本位于一个名为/var的目录中。 您可以通过input以下命令将此附加目录添加到PATHvariables中:
PATH=$PATH:"/var"
为了对PATHvariables进行永久更改,可以将其添加到三个不同的文件,具体取决于您想要的效果。
如果将其添加到/etc/profile文件中,则将使目录可供login到系统的所有用户使用。
您可以将PATH修改添加到您的主目录中您自己的.bash_profile文件,并且这只会在您login时适用于您。
您也可以将PATH修改添加到您的主目录中的.bashrc文件中,除了每次启动新shell时加载.bashrc文件之外,这种修改与添加到.bash_profile效果类似。
还值得一提的是, /var可能不是脚本的最佳位置。 /usr/local/bin会更好。 查看inheritance人(7)手册页man 7 heir有关什么文件应该去哪里的更多信息。
有一些方法可以做到这一点:(以root身份运行)
创build一个符号链接到/usr/bin
# ln -s /var/load_info /usr/bin/load_info
将其添加到全局PATH环境variables中:
# echo "export PATH=$PATH:/var" >> /etc/profile
在OS X(build立在Unix上)你可以这样做:
皮可.profile
添加以下行:-alias scriptname =“〜/ Path-to-script /./ scriptname” – 退出pico并保存。
如下所示: http : //rmcaps.tumblr.com/post/11635645690/help-whats-my-ip-updated