我们知道,在Linux下写好脚本后,通常我们需要先到脚本所在的目录,才能执行脚本。但是你有没有注意到,ls、cd、pwd等命令的程序都位于/bin目录下,但是我们可以在系统的任何地方执行这些程序。他们是如何做到的呢?那是因为在Path环境变量中添加了这些命令对应的程序的路径。所以如果我们在这个变量中加入自己的脚本路径,也可以达到在任何地方执行自己的脚本的效果。下面我们介绍三种方法来实现这一目标。方法一:将脚本所在路径添加到`.bashrc`文件中我们知道,Bash运行后,首先会加载.bashrc文件。所以,我们可以将脚本路径添加到.bashrc文件中,就可以达到我们的目的了。假设,我的脚本现在放在/home/alvin/scripts目录下,脚本名为hello.sh,运行结果是打印一句helloworld。然后,我们在.bashrc的末尾添加下面一行代码:exportPATH="/home/alvin/scripts:$PATH"最后,使用source命令使我们的更改生效:$source~/.bashrc现在,我们会在任何地方使用我们自己的脚本~方法二:将脚本的路径添加到`.profile`文件中。profile文件是一个环境变量配置文件,用户在登录系统时加载这个文件来配置环境变量。所以我们可以在这个文件中添加我们的路径,这样脚本就可以在任何地方使用了。我们可以在.proflie文件末尾添加如下一行代码:exportPATH="$PATH:$HOME/scripts"然后,我们需要退出终端,重新登录才能使修改生效。如果您使用Ubuntu及其衍生产品,则需要修改.pam_environment文件,而不是.profile文件。同样,在文件末尾添加这行代码:PATHDEFAULT=${PATH}:/home/@{PAM_USER}/scripts最后,再次登录启用修改。此时,任何人都可以在任何地方执行你的脚本。方法三:将脚本所在路径添加到环境变量中。这个方法大家应该都能想到。比较简单粗暴,直接改环境变量文件。该文件一般位于/etc目录下,文件名为environment。sudovim/etc/environment我们在文件中发现了这样的配置:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin"我们只要在这句话后面加上我们的脚本路径即可。PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/alvin/scripts”和方法二一样,需要注销用户,重新登录,就可以达到我们的目的。小结本文介绍三种不同的方法,让我们写的脚本可以在任何地方直接使用。方法很简单,但是学会了会节省很多时间!
