引号与括号
引号
- 反引号
- 对命令直接输出
- 双引号
- 对命令直接输出,对变量名进行替换
- 单引号
- 全部原样输出
小括号
$() 与反引号拥有相同的功能,被称为 Command substitution。
$(()) 则有数字计算的功能。
中括号
[[ ]] 可理解为布尔运算符,返回 true 或者 false。
注意此时,操作符前后均有空格
对于字符串而言:
[[ -z STRING ]]:判断为空[[ -n STRING ]]:判断非空
对于数字而言,需要使用一下字符操作符:
[[ NUM -eq NUM ]]Equal,等于。[[ NUM -ne NUM ]]Not equal,不等于。[[ NUM -lt NUM ]]Less than,小于。[[ NUM -le NUM ]]Less than or equal,小于等于。[[ NUM -gt NUM ]]Greater than,大于。[[ NUM -ge NUM ]]Greater than or equal,大于等于。
如果更想使用 >/</= 等符号操作符,则需要使用 (( )) 括起来。
对于文件而言:
[[ -e FILE ]]Exists:存在[[ -r FILE ]]Readable:可读[[ -w FILE ]]Writable:可写[[ -x FILE ]]Executable:可执行[[ -h FILE ]]Symlink:链接[[ -d FILE ]]Directory:目录[[ -f FILE ]]File:文件[[ -s FILE ]]文件内容不为空
shell 中
${}与$()有什么区别: 可理解为 ${var} 就是 $var,指代某个变量。{} 可以作为引用变量边界。除了边界,还有含空格的变量等特殊变量。





