Linux运维之shell变量.md-linux运维
分类
我们晓得,php里面有部分变量和全局变量的区分,shell里面和php非常类型,有环境变量、普通变量。环境变量个别用于定义shell的运转环境,而普通变量则时常用于编写shell足本中。
环境变量和普通变量的区别是和php的变量非常相似:区别都是运用范畴的不一样,shell的环境变量可以在目前shell以及衍生的shell的运用,而普通变量只能在目前shell运用。环境变量平常运用大写,普通变量平常运用小写。
环境变量
查看目前所有的环境变量,运用env(environment)下令即可
# env XDG_SESSION_ID=38135 HOSTNAME=iz8vb626ci0aehwsivxaydz TERM=xterm SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=114.106.186.229 31955 22 QTDIR=/usr/lib64/qt-3.3 ……
别的还可以用set下令来查看,但是该下令会列出所有环境变量以及普通变量。个别的,环境变量都运用大写的字母来表示。
设定及取消环境变量
会员自定义设定环境变量的方式如下
export 变量名=变量值
如想取消环境变量,则可以运用unset下令来完成
unset 变量名
下面来演示一下:
# export HOBBY=basketball # env | grep HOBBY HOBBY=basketball # unset HOBBY # env | grep HOBBY
变量的打印与设定
linux下有一个echo下令,运用办法和php是同样的,都是用来打印一段文本。
# echo hello,world hello,world # echo -e "$PWD\n$PATH" /root /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
变量的设定法则,
变量名=变量内容
注意"="两边都不克不及有空格
变量名称只能是字母和数字,别的首个字符不克不及是数字
变量内容如有空格,需要运用引号(单引号、双引号)将变量内容阔起来,如name="lebron james"。双引号里可以解析变量。
如有特别字符,可以运用\来转义,如enter、'、”等特别字符
如想运用下令效果作为变量内容,可以运用$(下令)或下令;
若想扩展变量内容,可以运用"{$变量}累加内容"
array
和php同样,shell变量也有数组类型。数组的定义语法如下:
变量名=(val1 val2 ... valn); arr=(paul james durant)
打印数组元素语法如下
echo ${arr[元素下标]} # echo ${arr[0]} paul # echo ${arr[1]} james
打印数组所有的元素
echo ${arr[@]}
打印数组的长度
echo ${#arr[@]}
打印数组元素的长度
echo ${#arr[数组下标]}
打印数组的局部元素 ${lnmp[@]:n1:n2} n1表示开端,n2表示长度
# 打印所有元素 # echo ${lnmp[@]} linux nginx mysql php # echo ${lnmp[@]:0} linux nginx mysql php # 打印从第二个元素开端的所有值 # echo ${lnmp[@]:1} nginx mysql php # 打印首先个值和第二个值 # echo ${lnmp[@]:0:2} linux nginx # 打印第二个值和第三个值 # echo ${lnmp[@]:1:2} nginx mysql
数组的赋值、替代、删除
#追加元素 # lnmp[${#lnmp[@]}]=apache # echo ${lnmp[@]} linux nginx mysql php apache # 修改元素 # lnmp[0]=l # echo ${lnmp[@]} linux nginx mysql php # 删除元素 unset lnmp[0] unset lnmp[1] unset lnmp
以上就是Linux运维之shell变量.md的细致内容,更多请关注 百分百源码网 其它相干文章!