linux环境变量

本文详细介绍了环境变量的概念,特别是PATH变量在查找和执行命令中的作用。通过实例展示了如何添加自定义目录到PATH中,以便执行个人脚本或软件。还讨论了环境变量的持久化设置,以及当有多个相同命令时,如何通过调整PATH顺序优先执行自定义版本。此外,提到了环境变量配置的两种常见方法,以优化命令输入流程。
摘要由CSDN通过智能技术生成

1.环境变量的概念
通俗的讲,环境变量就是告诉电脑(实际是操作系统) 几个目录。
这几个目录下存储又可执行文件,如前面显示的/usr/bin目录,大部分的系统命令都在这个目录下。

当我们输入命令mkdir 时,系统就会在环境变量所代表的几个目录从前都厚去查找,哪个里面有mkdir 文件,然后去执行mkdir 命令。
系统中环境变量的名字是PATH,其内容可通过下面的命令显示(根据操作系统不同和配置不同,略有差别,但格式是统一的,: 分割的一堆路径)

# 查看环境变量
echo $PATH
# /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
#新建一个文件
$ cat <<END >run.sh
-> echo " hello world ! "
-> END

#执行文件,发现失败
$ run.sh
-bash: run.sh: 未找到命令

所以如果我们想让自己的命令能被系统找到,就需要把命令所在的目录加到环境变量里面

# 加到环境变量的路径必须是全路径,全路径指以/开头或以~开头的路径
# 注意第一个PATH 不含$, 第二个PATH 有$ 符号
export PATH=$PATH:/home/ct
echo $PATH
# /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ct

再执行,成功

$ run.sh
 hello world !

所以在以后安装了新的软件,或者写了新的脚本后,都把软件的可执行程序和可执行的脚本所在的目录,加到环境变量里面就可以了。

但是,在命令行中执行export,对环境变量所做的修改,只对当前终端有效,退出后就无效了。为了使得这一操作,长期有效,我们需要把这句话写入一个文件中,一个登陆服务器就会被自动读取的文件中。

对于普通用户,在远程登录终端时,家目录下的~/.bash_profile (不是~/.bashrc, 在本地登录时才会被读取) 会
自动被读取,所以我们需要把export 语句加入到这个文件中。
系统查找命令的顺序是从环境变量的第一个目录到最后一个目录,在第一次碰到查询的命令后,就调用执行。
假如系统存在一个python 命令,我们自己又安装了一个python (假如在/home/ct/anaconda/bin 目录下),如果我们想执行自己的python 程序,就需要把/home/ct/anaconda/bin 写在$PATH 前面,如下

# 注意$PATH 的顺序
$ export PATH=/home/ct/anaconda/bin:$PATH

环境变量设置的两种方式:1. 给$PATH 后面新增目录;2. 建一个目录,放在$PATH 中,之后新安装的软件采
用软链方式。
至此,我们可以熟练使用环境变量来简化命令的输入过程了,因为如果没有环境变量,我们就得需要运行/home/ct/anaconda/bin/python 来运行python 命令了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值