ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

给脚本添加到环境变量_让你的脚本可以在任意地方都可执行的几个方法

2022-06-28 02:31:36  阅读:161  来源: 互联网

标签:脚本 文件 我们 添加 usr PATH 环境变量


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

它们是怎么做到的?

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

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

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

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


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

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

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

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


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

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

export PATH="$PATH:$HOME/scripts"
然后,我们需要退出终端再重新登录使修改生效。

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

PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts
最后,同样重新登录使能修改。

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

2020 精选 阿里/腾讯等一线大厂 面试、简历、进阶、电子书 私聊我回复「资料」免费获取

方法3:将脚本所在路径添加到环境变量里
这个方法大家应该都能想到,最简单粗暴,直接改环境变量文件。该文件一般位于 /etc 目录下,文件名是 environment 。

sudo vim /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"
跟方法2一样,需要将用户登出再重新登录即可,然后我们的目的就可以达成了。

小结
本文介绍三种不一样的方法,使得我们自己写的脚本在任何地方都可以直接使用。方法很简单,但学会了会省不少时间!
————————————————
版权声明:本文为CSDN博主「sherry初七-宝妈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_35514865/article/details/112656519

标签:脚本,文件,我们,添加,usr,PATH,环境变量
来源: https://www.cnblogs.com/zeenzhou/p/16418128.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有