out.csvファイルがあり、ユーザーが入力した名前がファイルに存在することを確認する必要があります(カンマ区切り)。名前を取得するために読み取りを使用していますが、同等性の検証中にエラーが発生します。
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
(また、変数を引用することを忘れないでください)。