下面的bash脚本给我带来了问题:
#!/bin/bash
if [[ $VAR -eq "<EMPTY>" ]]; then echo "Hello World!"; fi
Bash失败,抱怨:
line 3: [[: <EMPTY>: syntax error: operand expected (error token is "<EMPTY>")
如何测试包含在VAR
中的字符串是否等同于字符串"<EMPTY>"
?
您使用了错误的运算符。==
表示字符串,-eq
表示数字。
#!/bin/bash
if [[ $VAR == "<EMPTY>" ]]; then echo "Hello World!"; fi
在[[ ... ]]
中,-eq
有不同的含义:它用于比较整数。不过,您可以使用(( ... ))
将整数与普通运算符进行比较。对字符串使用以下内容:
[[ $VAR == "<EMPTY>" ]]