Linux 之 shell 比较运算符
条件变量替换: Bash Shell可以进行变量的条件替换,既只有某种条件发生时才进行替换,替换 条件放在{}中. (1) ${value:-word} 当变量未定义或者值为空时,返回值为word的内容,否则返回变量的值. (2) ${value:=word} 与前者类似,只是若变量未定义或者值为空时,在返回word的值的同时将 word赋值给value(3) ${value:?message} 若变量已赋值的话,正常替换.否则将消息message送到标准错误输出(若此替换出现在Shell程序中,那么该程序将终止运行)(4) ${value:+word} 若变量已赋值的话,其值才用word替换,否则不进行任何替换 (5) ${value:offset} ${value:offset:length} 从变量中提取子串,这里offset和length可以是算术表达式.(6) ${#value} 变量的字符个数 (7) ${value#pattern} ${value##pattern}去掉value中与pattern相匹配的部分,条件是value的开头与pattern相匹配 #与##的区别在于一个是最短匹配模式,一个是最长匹配模式. (8) ${value%pattern} ${value%%pattern}于(7)类似,只是是从value的尾部于pattern相匹配,%与%%的区别与#与##一样 (9) ${value/pattern/string} ${value//pattern/string}进行变量内容的替换,把与pattern匹配的部分替换为string的内容,/与//的区别与上同 注意: 上述条件变量替换中,除(2)外,其余均不影响变量本身的值 #!/bin/bash var1="1" 下面是“与”运算符-a,另外注意,用一个test命令就可以了,还有if条件后面的分号 if test $var1 = "1"-a $var2 = "2" ; then 下面是“或”运算符 -o,有一个为真就可以 if test $var1 != "1" -o $var2 != "3" ; then 下面是“非”运算符 ! if ! test $var1 != "1"; then
------------------------------------------------------------------------------------------------------ shell字符串比较、判断是否为数字
|
|
来自: Home of heart > 《我的图书馆》