linux shell中"(())"双括号运算符的使用

  • 学习shell中的运算符及逻辑运算,各种结构,各种注意事项已经学疯了,还好shell中有双括号的存在,安利一下。
  • 那些该死的运算符,[[]]/[]/test 逻辑运算、let、expr 通通可以抛弃了

语法结构

((表达式1,表达式2,…))

特点:

1.我们可以像c语言那样去写自己的结构
2.在双括号里面变量可以不加 $符号
3.可以像其他逻辑运算符号一进行逻辑运算 四则运算
4.支持for循环while循环if条件判断
5.可以写多个表达式 中间用逗号分隔

使用实例:

在这里插入图片描述输出结果:
在这里插入图片描述
如果双括号带:$,将获得表达式值,赋值给左边变量。

进行逻辑运算:

#!/bin/sh
 
a=1;
b="ab";
 
echo $((a>1?8:9));
 
((b!="a"))&& echo "err2";
((a<2))&& echo "ok";

运行结果:
9
err2
ok

扩展流程控制语句(逻辑关系式)

#!/bin/sh
 
num=100;
total=0;
 
for((i=0;i<=num;i++));
do
    ((total+=i));
done
echo $total;
 
total=0;
i=0;
while((i=5050));then
    echo "ok";
fi

运算结果:
5050
5050
ok

终于可以丢掉之前 那些语法结构复杂的逻辑测试了

发布了329 篇原创文章 · 获赞 52 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/xie_qi_chao/article/details/104994460
今日推荐