当前位置: 首页 > Linux

小鸟初学Shell编程(六)变量赋值

时间:2023-04-06 23:51:14 Linux

变量的含义我们在使用Linux命令或者脚本的时候,都会有一些输出,那么可以将输出的信息暂时保存在变量中,以供我们下次命令或者脚本使用。变量的定义对于变量的定义,建议使用有意义的英文单词来表示变量,不要使用简单的字母a、b等变量名定义。因为我们写的shell脚本其实是给人看的,所以我们定义的变量希望变量有特定的含义,让看shell脚本的人很容易看懂。变量的命名规则:字母、数字、下划线。分配不以数字开头的变量的过程称为变量替换。Shell脚本中的变量是不区分变量类型的变量赋值规则:变量名=变量值var=123注意:赋值的等号左右不能有空格。如果有空格,执行时会报错[root@lincoding~]#var=123[root@lincoding~]#[root@lincoding~]#var=123-bash:var:commandnotfound[root@lincoding~]#var=123-bash:var:commandnotfound因为有空格,Shell会认为前面的是命令而不是变量。用let给变量赋值[root@lincoding~]#letnum=10+10[root@lincoding~]#echo$num20可以用let做简单的数值运算,给变量赋值命令[root@lincoding~]#ls_cmd=ls[root@lincoding~]#${ls_cmd}anaconda-ks.cfginstall.loginstall.log.syslog也可用于将命令分配给变量。使用变量时,相当于执行命令将命令结果赋值给变量,使用$()或``[root@lincoding~]#file_list=$(ls/tmp)[root@lincoding~]#echo${file_list}pearyum.log[root@lincoding~]#file_list=`ls/tmp`[root@lincoding~]#echo${file_list}pearyum.log使用这种方法的好处是避免重复相同的命令,增加服务器的开销,但只执行一次命令,并将命令的结果保存到变量中,供下一步使用变量值中的空格等特殊字符可以用双引号""和单引号''[root@lincoding~]#var="123"[root@lincoding~]#echo$var123[root@lincoding~]#var='abc'[root@lincoding~]#echo$varabcis一个人物当字符串需要双引号时,需要用单引号来定义字符串[root@lincoding~]#var='"a""b""c"'[root@lincoding~]#echo$var"a""b""c"当字符串需要单引号时,需要用双引号来定义字符串[root@lincoding~]#var="'a''b''c'"[root@lincoding~]#echo$var'a''b''c'双引号和单引号还有一个区别,就是无论单引号中字符串中的特殊字符,都会被解释为普通字符串[root@lincoding~]#string="${var},Shell"[root@lincoding~]#echo$stringhello,Shell[root@lincoding~]#string='${var},Shell'[root@lincoding~]#echo$string${var},Shell总结在Shell中定义变量不需要定义类型。给变量赋值时,等号两边不能有空格。变量可以赋值给Linux命令,或者赋值给运行Linux命令返回的结果的输出,或者做简单的数字计算。双引号和单引号定义的字符串有一定区别。由单引号定义的字符串将被解释为普通字符串,而不管是否有特殊字符。