linux 变量

变量的显示与设置

显示

  • echo
echo $变量(variable)
实例:
echo $PATH
//↓↓显示HOME与MAIL
echo $HOME 或者是 echo ${HOME}
echo $MAIL 或者是 echo ${MAIL}

变量的设置规则

  • 变量与变量的内容以一个等号“=”来连接
myname=VBird
  • 等号两遍不能直接接空格符,错误如下
myname=VBird Tsai
  • 变量名只能是英文字母与数字,开头只能是英文字母,不能为:
2myname=VBird
  • 变量内容若有空格符,可使用双引号“”或者单引号‘’括起来,但是

双引号内的特殊字符如$等,可以保留原本的特性,例如:

var="lang is $VBird" 	//echo $var 可以得到 lang if en_US

单引号内的特殊字符则为纯文本的一般字符,例如:

ar='lang is $LANG'
//echo $var 可以得到 lang is $LANG
  • 可用用转义字符将特殊符号(如:$,,空格符,!等)变成一半字符。
  • 在一串命令中,还需要通过其他的命令提供的信息,可以使用反单引号括起来,特别注意的是:那个是键盘上方的数字键1左边的那个见,而不是单引号。例如想要取得内核版本的设置:
version=$(uanme -r)
//在echo $version 可得到 2.6.32-696.3.2.el6.x86_64
  • 若变量为了增加变量内容时,则可用$变量名称${变量}累加内容,如下所示:
PATH="$PATH":/home/bin
  • 若该变量需要在其他子程序运行,则需要以export来使变量变成环境变量:
export PATH
  • 通常大写字符为系统默认变量,自行设置变量可以使用小写字符,方便判断(纯粹依照用户兴趣爱好)。
  • 取消变量的方法为使用unset 变量名称,例如取消myname的设置:
unset myname

在这里普及一下子程序


  • 什么是子程序呢?

就是说在我目前这个shell的情况下,去打开另一个新的shell,新的shell就是子程序。在一般状态下,父进程的定义变量是无法再子程序里面使用的。但是通过export将变量变成环境变量后,就能够在子进程下面应用了。

原文地址:https://www.cnblogs.com/lanaiwanqi/p/10445677.html