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

开发 前端
我们知道,在 Linux 下写完一个脚本,通常情况下我们需要到脚本所在的目录,才可以执行这个脚本。但是大家有没注意到,像 ls 、cd 、pwd 这样的命令,它们的程序是位于 /bin 目录下,但是我们却可以在系统的任意位置都可以执行这些程序。

 我们知道,在 Linux 下写完一个脚本,通常情况下我们需要到脚本所在的目录,才可以执行这个脚本。但是大家有没注意到,像 ls 、cd 、pwd 这样的命令,它们的程序是位于 /bin 目录下,但是我们却可以在系统的任意位置都可以执行这些程序。

[[326640]]

它们是怎么做到的?

那是因为这些命令对应的程序所在路径被加到了 Path 环境变量里。所以我们如果把自己的脚本路径加到了这个变量里,我们也可以实现在任意地方执行自己脚本的效果。

下面我们来介绍三种方法来达到这个目的。

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

我们知道,Bash 在运行起来之后,会先加载 .bashrc 文件。所以,我们可以把脚本路径添加到 .bashrc 文件,然后就能达到目标。

假设,我现在脚本放在 /home/alvin/scripts 目录下,脚本名称是 hello.sh ,运行的结果就是打印一句 hello world 。

 

 

然后,我们再把下面这句代码加到 .bashrc 最后:

 

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

 

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

 

  1. $ source ~/.bashrc 

现在,我们就可以在任何地方使用我们自己的脚本啦~

 

 

 

 

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

.profile 文件是一个环境变量配置文件,用户在登录系统的时候加载此文件来配置环境变量。所以我们可以在这个文件里添加我们的路径,使得脚本在任意地方都可以使用。

我们可以在 .proflie 文件末尾加入下面这句代码:

 

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

然后,我们需要退出终端再重新登录使修改生效。

如果你使用 Ubuntu 及其衍生发行版,那么就需要修改 .pam_environment 文件,而不是 .profile 文件。同样地,在该文件末尾加入这么一句代码:

 

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

最后,同样重新登录使能修改。

这时,大家就可以在任何地方都可以执行你的脚本了。

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

这个方法大家应该都能想到,比较简单粗暴,直接改环境变量文件。该文件一般位于 /etc 目录下,文件名是 environment 。

 

  1. sudo vim /etc/environment 

我们找到文件里的这么一句配置:

 

  1. PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin" 

我们只要在这句话后面再加上我们的脚本路径即可。

 

  1. PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/alvin/scripts" 

跟方法2一样,需要将用户登出再重新登录即可,然后我们的目的就可以达成了。

小结

本文介绍三种不一样的方法,使得我们自己写的脚本在任何地方都可以直接使用。方法很简单,但学会了会省不少时间!

责任编辑:华轩 来源: 良许Linux
相关推荐

2021-01-12 10:10:41

shell脚本Linux命令

2021-01-08 08:06:19

脚本Shell文件

2019-10-17 10:30:34

Python脚本语言设计

2024-11-11 16:21:38

2018-12-03 11:05:20

内存代码Linux

2018-12-04 21:38:33

2017-08-09 15:48:43

2016-12-09 13:08:25

2022-08-19 08:06:00

MySQL数据库解析器

2024-01-10 09:34:15

2018-05-14 15:10:10

Vim编辑器Linux

2019-01-03 16:04:13

内存Linux PoC

2010-03-26 14:49:04

Python脚本

2021-09-22 14:55:08

Finder零日漏洞macOS

2009-07-20 15:42:34

监控JRubyJProfiler

2009-11-24 09:37:46

2024-06-26 01:09:36

2018-05-14 15:55:28

LinuxBash

2021-01-24 13:47:40

Python 开发编程语言

2022-05-11 14:50:34

Python解包执行文件
点赞
收藏

51CTO技术栈公众号