linux +运行一些没有“./”+别名的脚本

我有一台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身份运行)

  1. 创build一个符号链接到/usr/bin

     # ln -s /var/load_info /usr/bin/load_info 
  2. 将其添加到全局PATH环境variables中:

     # echo "export PATH=$PATH:/var" >> /etc/profile 

在OS X(build立在Unix上)你可以这样做:

  1. 皮可.profile

  2. 添加以下行:-alias scriptname =“〜/ Path-to-script /./ scriptname” – 退出pico并保存。

  3. 。 .profile文件

如下所示: http : //rmcaps.tumblr.com/post/11635645690/help-whats-my-ip-updated