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



下面的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>" ]]

相关内容

最新更新