详解:详解:Bash Shell 脚本中的括号:脚本中的括号:()、、(( ))、、[ ]、、[[ ]]、、{ } 及及
他们使用的运算符!他们使用的运算符!
文章目录文章目录1、小括号 ——( ):1.1、作用:1.2、关于 ( ) 中使用的运算符:2、双小括号 —— (( )):2.1、作用:2.2、关于 (( ))
中使用的运算符:3、Bash 内部命令 —— [ ] :3.1、作用:3.2、关于 [ ] 中使用的运算符:4、双中括号 —— [[ ]] :4.1、作用:
4.2、关于 [[ ]] 中使用的运算符:5、花括号 —— { } :5.1:作用:
此链接通往 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 中实现运算中提到过: