学习linux之环境变量

前言:环境变量 , 要是你学过c语言,你可以以这样的思想去理解,变量,变量,是一个变化的量,用一个简单的“字眼”来代替另外一个比较复杂或者是容易变动的数据(出自鸟哥的私房菜),根据需求,改变这个变量的值。

正解:变量就是一组文字或者符号(这些文字和符号都是你自己定义的)来代替一些设置或者是一串保留的数据。

      例如:你设置一个字符name(变量)就是M_J,那后续凡是遇到name,系统就会知道这个name就是M_J。

而linux当中的环境变量经常就是些路径,username=/var/spool/mail/user,后面遇到的username就都指示为/var/spool/mail/user了。

现在有了变量了,那要如何显示变量呢?    显示变量就用echo(用于查看变量)或者unset(用于取消变量),使用echo命令的时候,要在变量前面加上$这个符号,

 如下:

root@MJ:/# echo $PATH        这个是查看变量命令,下面就是显示的变量路径
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/EmbedSky/4.4.6/bin:/usr/local/games

如何设置和修改变量:     利用“=”连接变量和它的内容就OK 如下,刚开始这个变量还没有被设置,所以用echo查看是空的

root@MJ:/# echo $name  

root@MJ:/# name=M_J      现在被设置为M_J了
root@MJ:/# echo $name    所以显示就会显示M_J
M_J

这样,name这个变量就表示M_J了,

取消变量设置:

root@MJ:/# unset name    取消变量的命令
root@MJ:/# echo $name    再次查看该变量,下面显示为空

root@MJ:/#

需要注意的几点:

1.等号两边不能直接接空格符,但是若变量内容中含有空格符怎么办?别怕。聪明的人类说:利用双引号或者单引号将变量的内容扩起来,(注意单引号和双引号必须要成对)对于双引号里面的一些特殊字符如:$,可以保持原状。这里举个例子来表述单引号和双引号的区别:

root@MJ:/# echo $name     查看下变量name的值  下面显示没有

root@MJ:/# name=M_J        设置变量name的值为M_J
root@MJ:/# echo $name       再次查看name的值  显示M_J
M_J
root@MJ:/# myname="$name ju de li zi"        使用双引号
root@MJ:/# echo $myname
M_J ju de li zi

root@MJ:/# myname='$name ju de li zi'        使用单引号
root@MJ:/# echo $myname
$name ju de li zi

看看他们的区别,总结为使用单引号的时候,变量name就不会代表M_J的值了,仅显示为一般字符,所以  这里要注意哟(-_-)

2.变量名称只能是英文和数字,而且开头字符不能是数字

3.可以利用转义字符“\”将一些特殊字符(enter、#、!、空格符等)变为一般字符

4.对于系统的一些变量,系统自己使用的是大写。我们自己设置变量的时候,我们可以利用小写

5.如果该变量需要在其它子进程使用,则需要利用export来是变量变成环境变量。如export  PATH,这里多说下子进程(在打开当前的这个shell的情况下,再去打开另外一个新的shell,那个新的shell就是子进程,一般的情况下,父进程的一些自定义变量不能在子进程中使用,所以就需要使用export将变量变成环境变量,这样,这个父进程的变量就能够在子进程中使用了。这和C语言中变量的作用域很像,C语言的话就需要用extern来声明  -_-)

说一说如何累加变量:(看操作-_-)

root@MJ:/# echo $PATH      先使用命令查看下PATH变量 如下
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/EmbedSky/4.4.6/bin:/usr/local/games

现在要在PATH变量下加入/home/dmtsai/bin 变量,直接以:连接PATH添加上变量路径就ojbk了。

root@MJ:/# echo $PATH:/home/dmtsai/bin     
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/EmbedSky/4.4.6/bin:/usr/local/games:/home/dmtsai/bin

小窍门:

如果你经常去某一个目录,但是这个目录的路径特别长,切换的话,要切换好多次,是不是很麻烦呢

那么有了这个变量了 就可以这样子:

root@MJ:/# study="/opt/EmbedSky/qt-4.5/build/build_arm/"   比如我经常去这个目录下,所以我现在就设置一个变量study,并且给它设置路径值,那么下次我去这个目录的时候,我就可以直接输入下面的命令,就直接到达那个目录了,还是特别的方便了呢
root@MJ:/# cd $study
root@MJ:/opt/EmbedSky/qt-4.5/build/build_arm#

               结合鸟哥的私房菜所写                                  2018年07月26日15:22:04

猜你喜欢

转载自blog.csdn.net/xiao_jj_jj/article/details/81218313