Linux基础学习笔记(三 使用Linux环境变量)

Linux(基于《Linux命令行与shell脚本编程大全》的学习笔记)


6使用Linux环境变量

环境变量的定义

bash shell使用一个叫环境变量的特性来存储有关shell会话和工作环境的信息,环境变量分为两类:

  • 全局变量
  • 局部变量
全局环境变量

全局环境变量对shell会话和所生成的所有子shell都是可见的。局部变量只对创建他们的shell可见。
查看环境变量

printenv 或者 env 命令可以查看全局环境变量
要显示个别环境变量的值只能使用 printenv 命令

譬如:
printenv HOME
我们更常用的命令为:echo $HOME
也可以查看环境变量文件夹下的内容 ls $HOME

全局环境变量在所有shell中都有效

局部环境变量

局部变量只能在当前bash中可见
使用set命令可以查看所有的环境变量,包括全局变量、局部变量、用户自定义变量,按字母排序

设置环境变量
设置用户自定义环境变量
例 设置一个名为ttt的自定义环境变量 ttt=hello
当我们使用echo $ttt 会得到hello

所有的环境变量名均使用大写字母,这是bash shell的标准惯例。如果是你自己创建的局部变量或是shell脚本,请使用小写字母。变量名区分大小写。

设置全局环境变量
全局环境变量就是先设置局部,然后再将局部环境变量导出为全局环境变量
导出 :export ttt 即可将其设置为全局环境变量
删除环境变量
unset ttt 即可删除该环境变量
在涉及环境变量名时,什么时候该使用$,什么时候不该使用$,实在让人摸不着头脑。记住一点就行了:如果要用到变量,使用$;如果要操作变量,不使用$。这条规则的一个例外就是使用printenv显示某个变量的值。
设置PATH环境变量

PATH 环境变量是我们经常用的环境变量

设置PATH环境变量 命令 PATH=$PATH:/home/user/ttt
PATH环境变量是以冒号区分的,所以新的PATH变量就是原来的PATH($PATH)加上新的PATH变量(/home/user/ttt),中间用冒号隔开
注意,现在设置的path变量都是临时的,在当前shell退出或者系统重启后即失效
环境变量的持久化
现在你已经了解了各种shell进程以及对应的环境文件,找出永久性环境变量就容易多了。也可以利用这些文件创建自己的永久性全局变量或局部变量。对全局环境变量来说(Linux系统中所有用户都需要使用的变量),可能更倾向于将新的或修改过的变量设置放在/etc/profile文件中,但这可不是什么好主意。如果你升级了所用的发行版,这个文件也会跟着更新,那你所有定制过的变量设置可就都没有了。最好是在/etc/profile.d目录中创建一个以.sh结尾的文件。把所有新的或修改过的全局环境变量设置放在这个文件中。在大多数发行版中,存储个人用户永久性bash shell变量的地方是$HOME/.bashrc文件。

这些都不重要,基本用不到,下一章直接开练shell编程,中间的我也不看了,西巴。

你可能感兴趣的:(linux,shell)