0

以下 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>"

4

2 回答 2

4

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

#!/bin/bash

if [[ $VAR == "<EMPTY>" ]]; then echo "Hello World!"; fi
于 2012-08-29T17:17:47.863 回答
2

里面[[ ... ]]-eq有不同的含义:用于比较整数。不过,您可以使用(( ... ))普通运算符比较整数。对字符串使用以下内容:

[[ $VAR == "<EMPTY>" ]]
于 2012-08-29T17:17:20.893 回答