算术运算符 + - * / % 表示加减乘除和取余运算 += -= *= /= 同 C 语言中的含义
位操作符 > >>= 表示位左右移一位操作& &= | |= 表示按位与、位或操作 ~ ! 表示非操作 ^ ^= 表示异或操作
关系运算符 = == != 表示大于、小于、大于等于、小于等于、等于、不等于操作&& || 逻辑与、逻辑或操作
条件变量替换: 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
示例:
true
------------------------------------------------------------------------------------------------------ shell字符串比较、判断是否为数字
(责任编辑:IT) |