shell编程

变量

  • 普通变量
    • ${var}
    • ${var/oldPattern/newPattern}:将第一个符合旧模式的数据替换为新模式(非贪婪模式
    • ${var//oldPattern/newPattern}:将全部符合旧模式的数据替换为新模式(贪婪模式
  • 特殊变量
    • ${N}:第N个参数
    • ${#}:参数的个数

字符串

  • 使用双引号"包裹的字符串:
    • 内容中包含允许被解析的变量或允许被解析的转义字符。
  • 使用单引号'包裹的字符串:
    • 内容中包含允许被解析的变量或允许被解析的转义字符。

if选择结构

if [ 布尔表达式 ]
then
    选择分支
fi

if-else选择结构

if [ 布尔表达式 ]
then
    选择分支一
else
    选择分支二
fi

if-else if选择结构

if [ 布尔表达式一 ]
then
    选择分支一
elif [ 布尔表达式二 ]
then
    选择分支二
else
    选择分支三
fi

while循环结构

while [ 布尔表达式 ]
do
    循环体
done

算术运算符

运算符说明举例
+expr $a + $b
-expr $a - $b
\*expr $a \* $b
/expr $a / $b
%取余expr $a % $b

用于布尔表达式中的运算符

  • 数字
运算符说明举例
-eq等于[ $a -eq $b ]
-ne不等于[ $a -ne $b ]
-gt大于[ $a -gt $b ]
-lt小于[ $a -lt $b ]
-ge大于等于[ $a -ge $b ]
-le小于等于[ $a -le $b ]
!非运算[ ! false ]
-o或运算[ $a -lt 20 -o $b -gt 100 ]
-a与运算[ $a -lt 20 -a $b -gt 100 ]
  • 字符串
运算符说明举例
=等于[ $a = $b ]
!=不等于[ $a != $b ]
-gt大于[ $a -gt $b ]
-lt小于[ $a -lt $b ]
-ge大于等于[ $a -ge $b ]
-le小于等于[ $a -le $b ]
!非运算[ ! false ]
-o或运算[ $a -lt 20 -o $b -gt 100 ]
-a与运算[ $a -lt 20 -a $b -gt 100 ]
-z检测字符串长度是否为0,为0则返回true[ -z $a ]
-n检测字符串长度是否为0,不为0则返回 true[ -n $a ]
str检测字符串是否为空,不为空则返回true[ $a ]
  • 文件
运算符说明举例
-d检测文件是否是目录,如果是目录,则返回true[ -d $file ]
-r检测文件是否可读,如果可读,则返回true[ -r $file ]
-w检测文件是否可写,如果可写,则返回true[ -w $file ]
-x检测文件是否可执行,如果可执行,则返回true[ -x $file ]
-s检测文件是否为空,即文件大小是否等于0,如果不为空,则返回true[ -s $file ]
-e检测文件或目录是否存在,如果存在,则返回true[ -e $file ]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值