Shell-表达式

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36299025/article/details/91309880

1.算术表达式

let 算术运算表达式

let c=a+a+b

$[算术表达式] 不常用

c=[[a+$b]

$((算术表达式))

c=((((a+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++))bash:1:commandnotfoundLinux((a++))时,提示错误:“-bash: 1: command not found ”。Linux把它当成一个命令了,而非算术表达式。当不需要把算术表达式的值赋值给前面变量的时候,符号是不用写的:

[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
展开阅读全文

没有更多推荐了,返回首页