以下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>"
?
答案 0 :(得分:4)
您使用的操作符错误。 ==
用于字符串,-eq
用于数字。
#!/bin/bash
if [[ $VAR == "<EMPTY>" ]]; then echo "Hello World!"; fi
答案 1 :(得分:2)
在[[ ... ]]
内,-eq
具有不同的含义:它用于比较整数。但是,您可以使用(( ... ))
将integeres与普通运算符进行比较。对字符串使用以下内容:
[[ $VAR == "<EMPTY>" ]]