bash:需要整数表达式

bash:需要整数表达式

我有一个文件 out.csv 我必须检查用户输入的名称是否存在于文件中(逗号分隔)。我正在使用 read 获取名称,但在检查相等性时出现错误

    IFS=","
    while read tname tnum
        do
            if [ $tname -eq $name ]; then
                flag=1
                break
            fi
        done < out.csv
    echo "$ch"

答案1

您收到此错误是因为您尝试使用用于整数的相等运算符来比较字符串,-eq-ne-gt和类似的整数函数。

要比较字符串,请使用=比较相等或!=比较不相等。

查看有关比较运算符的更多信息。

if [ $tname -eq $name ]; then

应改为:

if [ "$tname" = "$name" ]; then

(还记得引用你的变量)。

相关内容