💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
1. 替换运算符 ~~~ ${var:-word} # 如果var存在且非null,返回它的值;否则返回word ${var:=word} # 如果var存在且非null,返回它的值;否则将word赋值给var,并返回var的值 ${var:?word} # 如果var存在且非null,返回它的值;否则显示var:word ${var:+word} # 如果var存在且非null,返回word;否则返回null ~~~ > 冒号(:)可省略 2. 模式匹配运算符 ~~~ ${var#pattern} # 匹配前缀(最小匹配),并返回余下内容 ${var##pattern} 匹配前缀(最大匹配),并返回余下内容 ${var%pattern} 匹配结尾(最小匹配),并返回余下内容 ${var%%pattern} 匹配结尾(最大匹配),并返回余下内容 ~~~ > pattern为正则表达式匹配 1. bash支持的算数运算 `+ - * /` > [danger]有些场景中,乘法符号需要转义 2. 算数运算实现方式 ~~~ let a=a+b 计算结果无法直接获取,需要赋值后才能使用 var=$[算数表达式] 计算结果可以直接使用,建议使用 var=$((算数表达式)) 同上 var=$(expr arg1 arg2 arg3) ~~~ 3. 浮点数计算 使用`shell`内置命令`bc` ~~~ # 进制转换 echo "obase=2; ibase=2; 1+1" | bc # 保留精度 echo "scale=2;1/2" | bc # 多行计算 [# v1=$(bc << EOF > v2=1 > v3=2 > v2+v3 > EOF > ) # echo $v1 3 ~~~ 4. 增强型赋值 `+= -= *= /= %=` ~~~ let var=var1+=1 let var++ # 自增 let var-- # 自减 ~~~