Shell-表达式

1.算术表达式

let 算术运算表达式

let c= a + a+ a+b

$[算术表达式] 不常用

c= [ [ [a+$b]

$((算术表达式))

c= ( ( (( ((a+ b ) ) 或 者 c = b))或者c= b))c=((a+b))

通过type let命令,可以知道let命令是一个shell builtin,因此可以用help命令查看:
在这里插入图片描述let是一个算术表达式,里面有一些计算公式:

[root@node1 ~]# a=1
[root@node1 ~]# b=1
[root@node1 ~]# let c=$a+$b
[root@node1 ~]# echo $c
2
[root@node1 ~]# c=$[$a+$b]
[root@node1 ~]# c=$(($a+$b))

当输入# ( ( a + + ) ) 时 , 提 示 错 误 : “ − b a s h : 1 : c o m m a n d n o t f o u n d ” 。 L i n u x 把 它 当 成 一 个 命 令 了 , 而 非 算 术 表 达 式 。 当 不 需 要 把 算 术 表 达 式 的 值 赋 值 给 前 面 变 量 的 时 候 , ((a++))时,提示错误:“-bash: 1: command not found ”。Linux把它当成一个命令了,而非算术表达式。当不需要把算术表达式的值赋值给前面变量的时候, ((a++))bash:1:commandnotfoundLinux符号是不用写的:

[root@node1 ~]# ((a++))
[root@node1 ~]# echo $a
3

2.条件表达式

  • [ expression ]
  • test expression
  • [[ expression ]]
    重点关注File operators:
    在这里插入图片描述Tip:-eq等于,-ne不等于,-lt小于,-le小于等于,-gt大于,-ge大于等于
[root@node1 ~]# test 3 -gt 2
[root@node1 ~]# [ 3 -gt 2  ]
[root@node1 ~]# echo $?
0
[root@node1 ~]# test -a passwd
[root@node1 ~]# echo $?
0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值