linux环境变量

环境变量的定义

全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量则只对创建它们的shell可见。
使用env或printenv命令查看全局变量。
使用echo $变量名,或者env,printenv+变量名,可以查看部分变量的值。
set命令与env和printenv的区别是,输出之前会按字母顺序进行排序再输出。

设置用户自定变量

使用echo命令即可
$ echo $my_variable
$ my_variable=Hello
$
$ echo $my_variable
Hello

如果要给变量赋一个含有空格的字符串值,必须用单引号来界定字符串的首和尾,变量名、等号和值之间没有空格。

环境变量名均使用大写字母。
如果你在子进程中设置了一个局部变量,那么一旦你退出了子进程,那个局部环境变量就不可用。

创建全局变量,先创建一个局部变量,再通过export命令实现。
export+局部变量

在子shell中修改全部变量的值,也只会影响该子shell中的值。

删除环境变量

unset+变量名

修改PATH环境变量

PATH环境变量定义了用于进行命令和程序查找的目录。shell进行搜索时会按照PATH中的路径进行搜索,目录使用冒号进行分割,在进行搜索时,如果不使用绝对路径,系统找不到,并会报错。
-bash: XXXX: command not found

可以把新的搜索目录添加到现有的PATH环境变量中,无需从头定义。PATH中各个目录之间可以把新的搜索目录添加到现有的PATH环境变量中,无需从头定义。PATH中各个目录之间。

PATH=$PATH:/home/christine/Scripts
引用原有的PATH并用冒号连接新加入的部分。

将目录加到PATH环境变量之后,你现在就可以在虚拟目录结构中的任何位置执行程序。
简单的方法,可以利用单点符号,将当前路径加入。
$PATH:.
以上的修改方法只能持续到退出系统。

启动bash shell的3种方式

在你登入Linux系统启动一个bash shell时,默认情况下bash会在几个文件中查找命令。这些文件叫作启动文件或环境文件。bash检查的启动文件取决于你启动bash shell的方式。启动bash shell有3种方式:

1.登录时作为默认登录shell
从5个不同的启动文件读取,其中,/etc/profile文件是系统上默认的bash shell的主启动文件。系统上的每个用户登录时都会执行这个启动文件。
3个针对每个用户的本地启动文件: H O M E / . b a s h p r o f i l e 、 HOME/.bash_profile、 HOME/.bashprofileHOME/.bash_login和$HOME/.profile。用户可以在这些文件中定制自己想要的环境变量和启动脚本。

2.作为非登录shell的交互式shell
如果bash shell不是登录系统时启动的(比如是在命令行提示符下敲入bash时启动),那启动的shell叫作交互式shell。
如果bash是作为交互式shell启动的,它就不会访问/etc/profile文件,只会检查用户HOME目录中的.bashrc文件。

3.作为运行脚本的非交互shell
系统执行shell脚本时用的就是这种shell。不同的地方在于它
没有命令行提示符。
为了处理这种情况,bash shell提供了BASH_ENV环境变量。当shell启动一个非交互式shell进程时,它会检查这个环境变量来查看要执行的启动文件。如果有指定的文件,shell会执行该文件里的命令。

永久性修改环境变量

在/etc/profile.d目录中创建一个以.sh结尾的文件。把所有新的或修改过的全局环境变量设置放在这个文件中。

环境变量数组

环境变量可以存储为数组变量。
$ mytest=(one two three four five)
通过位置引用
$ echo ${mytest[2]}
three
通过通配符显示所有
$ echo ${mytest[*]}
one two four five

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值