第六章 使用环境变量

什么是环境变量
创建自己的局部变量
删除环境变量
默认shell环境变量
设置 PATH 环境变量
定位环境文件
数组变量

bashell用一个叫环境变量的特性来存储有关shell回话和环境的信息,允许在内存中存储数据

1.全局环境变量

全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量则只对创建它们的
shell可见。这让全局环境变量对那些所创建的子shell需要获取父shell信息的程序来说非常有用。Linux系统在你开始bash会话时就设置了一些全局环境变量,系统环境变量基本上都是使用全大写字母,以区别于普通用户的环境变量。要查看全局变量,可以使用 env 或 printenv 命令。

PATH 环境变量定义了用于进行命令和程序查找的目录。
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

设置PATH 环境变量

PATH=$PATH:/home/christine/Scripts

显示个别环境变量的值,可以使用 printenv 命令

[root@kele phy]# printenv USER
root
[root@kele phy]# echo $USER
root
$ ls $HOME

在 echo 命令中,在变量名前加上 $ 可不仅仅是要显示变量当前的值。它能够让变量作为命令行参数。对 PATH 变量的修改只能持续到退出或重启系统。这种效果并不能一直持续

创建全局环境变量的方,法是先创建一个局部环境变量,然后再把它导出到全局环境中。通过 export 命令来完成,变量名前面不需要加 $ 。

2.局部环境变量

set 命令会显示为某个特定进程设置的所有环境变量,包括局部变量、全局变量
以及用户定义变量。

设置用户自定义变量,用=赋值,值是字符串或是数值,变量名,=,值之间不能有空格,并且自定义变量要小写,如果要给变量赋一个含有空格的字符串值,必须用单引号来界定字符串的首和尾
myhello=helloworld
myhello=“hello world”

3.删除环境变量

unset my_variable

如果要用到变量,使用 $ ;如果要操作变量,不使用 $ 。

4.定位系统环境变量

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

登录时作为默认登录shell
作为非登录shell的交互式shell
作为运行脚本的非交互shell

5.登录shell

当你登录Linux系统时,bash shell会作为登录shell启动。登录shell会从5个不同的启动文件里
读取命令:
 /etc/profile
 $HOME/.bash_profile
 $HOME/.bashrc
 $HOME/.bash_login
 $HOME/.profile
/etc/profile文件是系统上默认的bash shell的主启动文件。系统上的每个用户登录时都会执行这个启动文件

四个文件都以点号开头,这说明它们是隐藏文件(不会在通常的 ls 命令输出列表中
出现)。它们位于用户的HOME目录下,所以每个用户都可以编辑这些文件并添加自己的环境变量,这些环境变量会在每次启动bash shell会话时生效。

如果你的bash shell不是登录系统时启动的(比如是在命令行提示符下敲入 bash 时启动),那么你启动的shell叫作交互式shell。交互式shell不会像登录shell一样运行,但它依然提供了命令行提示符来输入命令。如果bash是作为交互式shell启动的,它就不会访问/etc/profile文件,只会检查用户HOME目录中的.bashrc文件

非交互式shell。系统执行shell脚本时用的就是这种shell。不同的地方在于它
没有命令行提示符

6.数组变量

环境变量有一个很酷的特性就是,它们可作为数组使用。数组是能够存储多个值的变量。这些值可以单独引用,也可以作为整个数组来引用。

要引用一个单独的数组元素,就必须用代表它在数组中位置的数值索引值。索引值要用方括号括起来。

[root@kele phy]# mysz=(one two three)
[root@kele phy]# echo ${mysz[2]}
[root@kele phy]# echo ${mysz[*]}
$ mytest[2]=seven 改变第二个索引值位置的值。

unset 命令删除数组中的某个值
unset mysz[2]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值