Linux Shell 脚本高级测试与循环结构详解
1. 高级测试:使用双中括号 [[ ]]
1.1 双中括号的基本特性
双中括号 [[ condition ]] 可用于更高级的条件测试,但与 Bourne 外壳不兼容。它最初是 KornShell 中定义的关键字,在 bash 和 Zsh 中也可用。与单中括号不同,双中括号是关键字而非命令,可通过 type 命令验证:
$ type [[
1.2 空格处理
由于 [[ 是关键字,它会在 bash 扩展参数之前解析参数。因此,即使参数值包含空格,使用 [[ 时也可省略引号。例如:
$ echo "The File Contents">"my file"
$ FILE="my file"
$ [[ -f $FILE && -r $FILE ]] && cat "$FILE"
不过,在使用 cat 命令时,仍需对参数进行引号处理。同时,双中括号内使用引号是可选的,并且可以使用更传统的 && 和 || 分别替代 -a 和 -o 。
超级会员免费看
订阅专栏 解锁全文
33万+

被折叠的 条评论
为什么被折叠?



