良许Linux教程网 干货合集 Linux系统如何让你的脚本在任意地方都可执行?

Linux系统如何让你的脚本在任意地方都可执行?

一般情况下,我们在 Linux 系统里写完一个脚本,想要运行它的话,就需要切换到这个脚本所在的目录,然后再用 ./myScript.sh 这样的方式执行它。或者我们使用这个脚本的完整路径执行也行。

但是,对于一些 Linux 命令,比如 lscdpwd 等命令,它们的可执行文件是放在 /bin/usr/bin 目录下,而我们要运行这些命令,无需切换到这两个目录下,在任意一个位置都可以运行,这是怎么做到的呢?

这是因为这些命令所对应的可执行文件所在的目录已经被加到了 PATH 环境变量里。所以,我们也可以把我们所写的脚本目录路径加到 PATH 环境变量里,这样我们也可以实现像那些系统命令一样在系统任意位置都可以执行自己写的脚本了。

本文介绍三种方法来实现这个目的。

方法1:将脚本所在路径添加到 .bashrc 文件里

大家知道,当你的终端被运行之后,系统将自动加载 .bashrc 文件,所以我们可以把脚本路径添加到 PATH 这个动作写在 .bashrc 文件,这样终端一起来我们就自动改好了 PATH 变量。

假如,我们所写的脚本位于 /home/alvin/scripts 目录下,名称是 hello.sh ,程序很简单,执行的结果就是打印一句 hello world

接下来,我们使用文本编辑工具,在 .bashrc 文件的末尾追加下面这句代码:

export PATH="/home/alvin/scripts:$PATH"

最后,再使用 source 命令使我们的修改生效:

source ~/.bashrc

现在,我们就可以在系统的任意位置执行我们的脚本啦~

方法2:将脚本所在路径添加到 .profile 文件里

.profile 文件是一个环境变量配置文件,当用户登录到系统的时候,系统将自动加载这个文件并配置环境变量。所以,我们也可以采用类似方法 1 的方式来修改这个文件,达到我们的目的。

首先,我们使用文本编辑工具在 .proflie 文件末尾追加下面这句代码:

export PATH="$PATH:$HOME/scripts"

但是,这时候修改还未生效。我们需要退出当然用户的登录,再重新登录,这样我们的修改就会生效了。

但是,如果你使用的是 Ubuntu 系统或它的衍生发行版,那么就需要修改 .pam_environment 文件,而不是 .profile 文件。类似的,也是在这个文件末尾加入这么一句代码:

PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts

保存退出之后,我们重新登录当前用户使修改生效。

现在,我们就可以在系统的任意位置执行我们的脚本啦~

方法3:将脚本所在路径添加到环境变量里

前面两种方法都是通过间接的方法去修改环境变量,那么,我们就不能直接修改环境变量文件呢?答案是肯定的,这个文件位于 /etc 目录下,文件名是 environment 。我们先使用 vim 打开这个文件。

$ sudo vim /etc/environment

然后再打开 PATH 变量的定义值:

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"

跟前面两种方法一样,我们依然需要退出当前用户再重新登录,然后就可以实现我们的目的了。

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
头像

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部