一、变量判断 & 内容替换
在php中,使用isset来判断变量是否存在,那在shell中是如何做的呢?
变量配置方式 | str 没有申明 | str 为空字符串 | str 已申明非空字符串 |
var=${str-expr} | var=expr | var= | var=$str |
var=${str:-expr} | var=expr | var=expr | var=$str |
var=${str+expr} | var= | var=expr | var=expr |
var=${str:+expr} | var= | var= | var=expr |
var=${str=expr} | str=expr var=expr |
str 不变 var= |
str 不变 var=$str |
var=${str:=expr} | str=expr var=expr |
str=expr var=expr |
str 不变 var=$str |
var=${str?expr} | expr 输出至 stderr | var= | var=$str |
var=${str:?expr} | expr 输出至 stderr | expr 输出至 stderr | var=$str |
没见过这么难看的运算符…
二、加减乘除
# number1=10 # number2=3 # total=$(( $number1 + $number2 )) //结果13 # total=$(( $number1 - $number2 )) //结果7 # total=$(( $number1 * $number2 )) //结果30 # total=$(( $number1 / $number2 )) //结果3
三、比较运算符
在脚本中非常的实用,参阅:shell 中比较运算符 test的使用方法