${变量名}
$(命令)
${待测变量:-替换值} 判断变量是否不存在或者为空(冒号) 成立则返回替换值
${待测变量:=替换值} 判断变量是否不存在或者为空(冒号) 成立则赋值为替换值
${待测变量:?错误信息} 判断变量是否不存在或者为空(冒号) 成立则赋值为替换值
${待测变量:+替换值} 判断变量是否存在或者非空(冒号) 成立则返回替换值
${变量:位置起始点}
${变量:位置起始点:长度}
${@:1}
${#str}
expr length "字符串"
${变量#样式}:由前面开始,最短删除
${变量##样式}:由前面开始,最长删除
${变量%样式}:由后面开始,最短删除
${变量%%样式}:由后面开始,最长删除
只替换第一个符合的:${变量/样式/替换字符串}
替换全部符合的:${变量//样式/替换字符串}
只匹配行首:${变量/#样式/替换字符串}
只匹配行末:${变量/%样式/替换字符串}
删除:不加替换字符串表示删除
${!开头字符串@},${!开头字符串*}
${!数组变量[@]},${!数组变量[*]}
$((算术式))
expr 算术式
$[算术式]
declare -i 变量=算术式
let 算术式
算术式中如果值不存在或者为空,则默认为0
不同进制的数字可使用“基底#数字”表示
let 表达式加空格必须为表达式加引号
let "i = i + 5"
grep -q "keyword" filename
! 空格 命令
[ 判断式 ] && 指令1 || 指令2 等价于 A?B:C
在 [[ ]] 和 (()) 中表达式不用转义符
@(样式串行) : 如果符合括号里样式串行的其中一个就算对比符合
!(样式串行) :只要不出现在括号中就算对比符合
eg:
read name case $name in j@(ay|oin|uly|oe) echo "good";; *) echo "nice";; esac
网友13.*.*.3[火星]2021-03-06 03:42
网友216.*.*.226[Seattle]2021-03-06 03:41
网友185.*.*.1[火星]2021-03-06 03:33
网友220.*.*.162[北京]2021-03-06 03:29
发表评论
亲~ 评论内容是必须的哟! o(∩_∩)o
昵称
邮箱
主页
评论