Shell 脚本中的括号种类繁多,不同的括号在不同的情况下有着不同的用途。在本文中,我们将介绍括号的种类以及它们的作用。
圆括号用来执行命令,并将命令的输出作为参数传递给 Shell。圆括号中的命令会在子 Shell 中执行,因此圆括号中的变量和环境变量对外部 Shell 是不可见的。
$ echo $(ls)
以上命令会将当前目录下的文件列表输出。
双圆括号主要用来进行算术运算。双圆括号中的变量名不需要使用 $ 符号,而且可以使用 C 语言风格的运算符。
$ a=10
$ ((a++))
$ echo $a
以上命令会将 a 的值增加 1,然后输出 11。
方括号用来进行条件测试。方括号中的命令会在当前 Shell 中执行,因此方括号中的变量和环境变量对当前 Shell 是可见的。
$ [ -f test.txt ]
$ echo $?
以上命令会测试当前目录下是否存在 test.txt 文件。如果存在,返回值为 0;否则,返回值为非零。
双方括号用来进行条件测试,与方括号类似。但双方括号中的参数可以使用模式匹配,而方括号中的参数不支持模式匹配。
$ [[ "test.txt" == *.txt ]]
$ echo $?
以上命令会测试 "test.txt" 是否与 *.txt 模式匹配。如果匹配,返回值为 0;否则,返回值为非零。
花括号主要用来生成序列。花括号中的序列可以用逗号分隔,也可以使用省略号表示范围。
$ echo {1..5}
$ echo {a..z}
以上命令分别会输出 1 到 5 的数字序列和 a 到 z 的字母序列。
本文介绍了 Shell 中各种括号的作用,包括 ()、(())、[]、[[]]、{}。不同的括号在不同的情况下有着不同的用途,掌握这些括号的使用方法可以使 Shell 脚本编写更加高效。
评论列表:
发布于 4天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论