端末が「then」を呼び出さずに構文エラーとコマンドが見つからないことを報告します。

端末が「then」を呼び出さずに構文エラーとコマンドが見つからないことを報告します。

CentOS 7があります。 BASHで非常に単純なスクリプトを実行しています。 chmodコマンドを実行し、端末でスクリプトファイルを実行しました。構文エラー「コマンドが見つからない場合」というエラーメッセージが表示されます。この問題を解決するのに役立ちますか?

#!/bin/bash
clear
echo "Enter a number:"
read number
if["$num" -eq 10]
then
echo "the number is 10"
elif["$num" -lt 10]
then
echo "that number is less then 10"
elif["$num" -gt 10]
then
echo "this is greater than 10"
else
echo "the number is between 10 and 20"
fi

出力:

Enter a number:
100
./arya.sh: line 6: if[ -eq 10]: command not found
./arya.sh: line 7: syntax error near unexpected token `then'
./arya.sh: line 7: `then'

ベストアンサー1

[]/とその隣の項目の間に少なくとも1つのスペースを入れる必要があります。

if [ "$num" -eq 10 ]

[実際には式を評価するコマンドのエイリアスであるbashコマンドでありtest、閉じるステートメントは]式の一部として評価されないようにそれ自体で行わなければなりません。

おすすめ記事