在 Shell 中,方括号其实等同于 test
命令,用于执行一个条件判断。
举个栗子 🌰 :
我们先定义一个变量
~ Bool=true
接着使用 &&
逻辑与,当第一个命令成功执行( true
) 时,才会接着执行第二个命令。利用 &&
来测试:
~ [ $Bool ] && echo "Hello World"
~ Hello World
可以看到,成功输出 Hello World
。
其实当我们输入 man test
时,会看到:
test
命令和 [ ]
其实是等同的。
Reference
[1] https://www.javatpoint.com/linux-double-ampersand
[2] https://unix.stackexchange.com/questions/99185/what-do-square-brackets-mean-without-the-if-on-the-left