首页 >> 学习 >> Shell脚本编程基础 >> Shell中的括号
Shell中的括号

本节重要性:★★★★☆    本节难度:★★★★★

括号分小括号(圆括号)、中括号(方括号)和大括号(花括号)。这些括号在Shell中分别有不同的作用,下表总结了这些括号的用途。

小括号
()	命令组(新建一个子Shell):(ls; pwd)
	命令替换:$(pwd)
	数组赋值:color=(red green blue)
(())	整数运算(整数扩展):((j=i*10))
	for循环表达式:for ((i=0;i<10;i++))
	
中括号 [] 条件测试(Bash内部命令,等于test):if [ -d genome ] 正则表达式中的字符范围:grep "^[a-h]" at_protein.fa 数组下标:${color[0]} 整数运算:$[2*3] [[]] 条件表达式关键字:if [[ "$1" == "-h" || "$1" == "--help" ]]
大括号 {} 变量引用:${species} ${#genome} ${plant[*]} 命令组(内部组,其中的命令在当前Shell运行,不新建子Shell):{ ls; pwd; } 大括号扩展:{a,b}_{1,2,3}.txt 函数:func_name(){ command... }

其中小括号、中括号和大括号中的变量引用和命令组的用法我们前面已经学习了,可到相应的小节里查询。函数将在下一节学习。在这里我们只学习大括号扩展的用法。

通过下面的例子,我们就会理解大括号扩展的用法:

[peter@ibi98 brace]$ ls
[peter@ibi98 brace]$ touch file_{a,b}_{1,2,3}.txt
[peter@ibi98 brace]$ ls
file_a_1.txt  file_a_2.txt  file_a_3.txt  file_b_1.txt  file_b_2.txt  file_b_3.txt

大括号里面逗号分割的内容会分别与大括号外面的内容组合起来,这样利用多个大括号表示多种组合方式,可以方便地一次处理多个文件。

<<上一节  下一节>>