详解:Bash Shell 脚本中的括号:()、(( ))、[ ]、[[ ]]、{ } 及 他们使用的运算符!


 

        此链接通往 Bash Shell 编程学习的目录导航 ,从入门到放弃,感兴趣的可以去看看:


1、小括号 ——( ):

 

1.1、作用:

①、命令组:

格式:(cmd1;cmd2;cmd3...)  —— 将多个命令用 () 括起来,组成一个命令组!

注意:括号中的命令会新打开一个子shell进程去执行!

★ 1、括号中的变量问题;()中的变量不能被脚本中的其他部分使用!
★ 2、如果需要在脚本中执行 exit 命令,也不能在()中执行,因为他关闭的是()中打开的子shell!
★ 3、cmd 之间使用;隔开,最后一个命令结尾不需要跟分号(;)
★ 4、() 与 cmd 之间 不需要有空格!

②、命令替换:

格式: $(cmd) ;$(cmd) = $`cmd`

shell 扫描一遍命令行,发现了 $(cmd);然后先执行一遍$(cmd) 中的 cmd;
然后将执行后的标准输出结果,放进 $()中!

eg:
root@zhengzelin:~# for i in $(seq 0 4);do echo $i;done
0
1
2
3
4

# tcsh shell 不支持命令替换功能!

③、初始化数组:

顾名思义,将数组初始化!

eg: array =(a b c d)

 

1.2、关于 ( ) 中使用的运算符:

1、算术运算符:+ - * / % (必须结合命令 expr来实现)
2、整数运算符: 无
3、字符串运算符:无
4、逻辑运算符:无
5、文件运算符:无

root@zhengzelin:~# a=$(expr "1" + "2" );echo $a
3

 


 

2、双小括号 —— (( )):

 

2.1、作用:

①、整数运算:

这个在 shell 中实现运算中提到过:

eg:
root@zhengzelin:~# a=$((1+2)) | echo $a
3


注意: 只支持整数运算!

②、重定义变量值:

root@zhengzelin:~# a=1;((a++));echo $a
2

③、((expr)):

要求是: (( )) 中的表达式(expr) 或 运算符 满足 C语言运算规则!

 

2.2、关于 (( )) 中使用的运算符:

1、算术运算符:+ - * / %
2、整数运算符: == 、!= 、> 、>= 、< 、<=
3、字符串运算符:= (比较两个字符串是否相等)
4、逻辑运算符:& && | ||
5、文件运算符:无!(不可使用)

"算术运算:"
root@zhengzelin:~# a=$(( 1 * 2 ));echo $a
2


"整数运算:"
root@zhengzelin:~# (( 1 != 2 ));echo $?
0


"逻辑测试:"
root@zhengzelin:~# ((<
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值