如何比较包含尖括号的字符串'<';在bash?

如何比较包含尖括号的字符串'<';在bash?,bash,Bash,以下bash脚本给我带来了问题: #!/bin/bash if [[ $VAR -eq "<EMPTY>" ]]; then echo "Hello World!"; fi #/bin/bash 如果[$VAR-eq”“];然后回应“你好,世界!”;fi Bash失败,抱怨: line 3: [[: <EMPTY>: syntax error: operand expected (error token is "<EMPTY>") 第3行:[[::语法

以下bash脚本给我带来了问题:

#!/bin/bash

if [[ $VAR -eq "<EMPTY>" ]]; then echo "Hello World!"; fi
#/bin/bash
如果[$VAR-eq”“];然后回应“你好,世界!”;fi
Bash失败,抱怨:

line 3: [[: <EMPTY>: syntax error: operand expected (error token is "<EMPTY>")
第3行:[[::语法错误:应为操作数(错误标记为“”)

如何测试
VAR
中包含的字符串是否等效于

内部
[…]]
-eq
具有不同的含义:它用于比较整数。不过,您可以使用
(…)
将整数与普通运算符进行比较。对字符串使用以下方法:

[[ $VAR == "<EMPTY>" ]]
[[$VAR==”“]]

[…]
内部,
-eq
有不同的含义:它用于比较整数。不过,您可以使用
(…)
将整数与普通运算符进行比较。字符串使用以下内容:

[[ $VAR == "<EMPTY>" ]]
[[$VAR==”“]]

您使用了错误的运算符。
=
用于字符串,
-eq
用于数字

#!/bin/bash

if [[ $VAR == "<EMPTY>" ]]; then echo "Hello World!"; fi
!/bin/bash
如果[[$VAR==”“]];则回显“Hello World!”;fi

您使用了错误的运算符。
=
用于字符串,
-eq
用于数字

#!/bin/bash

if [[ $VAR == "<EMPTY>" ]]; then echo "Hello World!"; fi
!/bin/bash
如果[[$VAR==”“]];则回显“Hello World!”;fi

[[
中,您不必引用不存在的变量。在
[[
中,您不必引用不存在的变量。
-eq
[…]
中仍然有意义。它意味着“如果arg1等于arg2,则返回true,”根据bash手册页,它的操作数必须是整数。
-eq
[…]]
中仍然有意义。根据bash手册页,它意味着“如果arg1等于arg2,则返回true”。它的操作数必须是整数。