全面整理linux下shell中各种括号的作用及用途-linux运维
注:看本篇文档的条件是你已经有了bash以及shell编程的根基。
单小括号()
但小括号常见的两个作用:下令替代以及数组的初始化
下令替代
当遇到$()构造时,shell就把括号的内下令施行,并返回效果
# tmp=$(date) # echo $tmp Fri Sep 18 10:22:30 CST 2020
初始化数组
# 初始化数组 lnmp=(linux nginx mysql php)
双小括号(())
记住双括号有一个特色,就是括号内的要相符c说话的语法,运用变量名时不需要加上$符号的。
双小括号的用途比拼多,它可以用作整数盘算(不支撑小数)。例如:$((3+2))
# echo $((1+3)) 4 # n1=3 # echo $((n1+7)) 10
只有相符c说话语法的运算扩展,都可以写在括号里
# echo $((3+4>5 ? 1 :0)) 1 # echo $((3+4>9 ? 1 :0)) 0
从新给变量赋值,这个时候不成在括号外加$符
# i=1;((i++));echo $i; 2 # i=1;((i=100));echo $i; 100
双括号还时常用在for轮回中
for ((i=0;i<5;i++));do echo -n $i;done
片面括号[]
片面括号最常见用于逻辑推断中,别的它还可以作为数组的下标,以及在正则中表示一段范畴
shell足本中用于前提推断:
if [ 1 > 2 ] then …… fi
也可以作为数组下标:
# echo ${lnmp[1]} nginx
在正则中运用,表示一段范畴
[0-9] 表示数子0-9都行
双方括号
和单括号同样,双方括号也用在前提推断中,但它比片面括号更加的通用。下面举一个例子:
[ a > b ] && [ a > 0 ]或[ a > b -a a > 0 ] 改成双括号 [[ a > b && a > 0 ]]
单花括号{}
花括号拓展。(通配(globbing))将对花括号中的文件名做扩展。在大括号中,不允许有空白,除非这个空白被援用或转义。
比方输入下令 rm -f {1,2}.txt将删除1.txt和2.txt文件。
单花括号中..的作用
两个点在这里表示一段范畴的意思。比方
echo {1..10} #将打印1,2,3,4,5,6,7,8,9,10
花括号还常用在shell足本里,用于代码块。
初次以外,单花括号还可以用作变量内容的替代和删除以及变量内容的测试,给出一个常见的例子。我们常常会推断一个变量可否存在,要是不存在,则给该变量设定新值。
val=${n1:-test}
上面代码表示要是n1这个变量不存在或为空,则将val变量值设定为test,不然val值为n1变量的值
以上就是全面整理linux下shell中各种括号的作用及用途的细致内容,更多请关注 百分百源码网 其它相干文章!