1:环境变量
环境变量可以帮我们达到很多功能~包括家目录的变换啊、提示字符的显示啊、运行文件搜寻的路径啊等等的那么,既然环境变量有那么多的功能,问一下,目前我的 shell 环境中, 有多少默认的环境变量啊?我们可以利用两个命令来查阅,分别是 env 与 export 呢!
such as:[root@hadoopHost ~]# export 或者env
常见的环境变量有:
[root@www ~]# declare -i number=$RANDOM*10/32768 ; echo $number 8 <== 此时会随机取出 0~9 之间的数值喔! |
2:自定义变量(包含 bash 操作接口有关的变量)
除了那些环境变量外,还有一些还有一些与 bash 操作接口有关的变量以及用户自定义的变量,这类变量改如何查询呢?
用 set 观察所有变量 (含环境变量与自定义变量)
一般来说,不论是否为环境变量,只要跟我们目前这个 shell 的操作接口有关的变量, 通常都会被配置为大写字符,也就是说,『基本上,在 Linux 默认的情况中,使用{大写的字母}来配置的变量一般为系统内定需要的变量』有哪些是比较重要的系统变量呢?大概有这几个吧!
[root@www /home/dmtsai 16:50 #12]#那个 # 代表第 12 次下达的命令。那么应该如何配置 PS1 呢?可以这样啊:
[root@www ~ ]# cd /home [root@www home]# PS1=‘[\u@\h \w \A #\#]\$ ‘ [root@www /home 17:02 #85]# # 看到了吗?提示字符变了!变的很有趣吧!其中,那个 #85 比较有趣, # 如果您再随便输入几次 ls 后,该数字就会添加喔!为啥?上面有说明滴! |
?:(关于上个运行命令的回传值)
什么?问号也是一个特殊的变量?没错!在
bash 里面这个变量可重要的很! 这个变量是:『上一个运行的命令所回传的值』,
上面这句话的重点是『上一个命令』与『回传值』两个地方。当我们运行某些命令时,
这些命令都会回传一个运行后的代码。一般来说,如果成功的运行该命令, 则会回传一个 0
值,如果运行过程发生错误,就会回传『错误代码』才对!一般就是以非为 0 的数值来取代。
3:自定义变量转成环境变量---export
谈了 env 与 set 现在知道有所谓的环境变量与自定义变量,那么这两者之间有啥差异呢?其实这两者的差异在于『 该变量是否会被子程序所继续引用』
如你想要让该变量内容继续的在子程序中使用,那么就请运行:
[root@www ~]# export 变量名称 |
我们常常在自己的主控文件后面呼叫其他附属文件(类似函式的功能),但是主控文件与附属文件内都有相同的变量名称, 若一再重复配置时,要修改也很麻烦,此时只要在原本的第一个文件内配置好『 export 变量 』, 后面所呼叫的文件就能够使用这个变量配置了!而不需要重复配置,
如果仅下达 export 而没有接变量时,那么此时将会把所有的『环境变量』秀出来喔!例如:(跟env作用一样)
[root@www ~]# export
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="www.vbird.tsai"
declare -x INPUTRC="/etc/inputrc"
declare -x LANG="en_US"
declare -x LOGNAME="root"
|
4:将环境变量转成自定义变量----declare
原文:http://www.cnblogs.com/chenfei0801/p/3552389.html