bash shell使用一个叫环境变量的特性来存储有关shell会话和工做环境的信息,环境变量分为两类:shell
全局环境变量对shell会话和所生成的全部子shell都是可见的。局部变量只对建立他们的shell可见。
查看环境变量编程
printenv 或者 env 命令能够查看全局环境变量
要显示个别环境变量的值只能使用 printenv 命令譬如:
printenv HOME
咱们更经常使用的命令为:echo $HOME
也能够查看环境变量文件夹下的内容 ls $HOMEbash
全局环境变量在全部shell中都有效学习
局部变量只能在当前bash中可见
使用set命令能够查看全部的环境变量,包括全局变量、局部变量、用户自定义变量,按字母排序命令行
设置用户自定义环境变量
例 设置一个名为ttt的自定义环境变量 ttt=hello
当咱们使用echo $ttt 会获得hello
全部的环境变量名均使用大写字母,这是bash shell的标准惯例。若是是你本身建立的局部变量或是shell脚本,请使用小写字母。变量名区分大小写。排序
全局环境变量就是先设置局部,而后再将局部环境变量导出为全局环境变量
导出 :export ttt 便可将其设置为全局环境变量
unset ttt 便可删除该环境变量
在涉及环境变量名时,何时该使用$,何时不应使用$,实在让人摸不着头脑。记住一点就好了:若是要用到变量,使用$;若是要操做变量,不使用$。这条规则的一个例外就是使用printenv显示某个变量的值。
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编程,中间的我也不看了,西巴。变量