35

私はシェルスクリプトの初心者なので、質問があります。このコードで何が間違っていますか?

#!/bin/bash
echo " Write in your age: "
read age
if [ "$age" -le "7"] -o [ "$age" -ge " 65" ]
then
echo " You can walk in for free "
elif [ "$age" -gt "7"] -a [ "$age" -lt "65"]
then
echo " You have to pay for ticket "
fi

このスクリプトを開こうとすると、年齢を尋ねられ、次のように表示されます

./bilet.sh: line 6: [: 7]: integer expression expected
./bilet.sh: line 9: [: missing `]'

何が間違っているのかわかりません。誰かがそれを修正する方法を教えてくれたら、感謝します。下手な英語で申し訳ありませんが、皆さんが私を理解してくれることを願っています。

4

6 に答える 6

6
./bilet.sh: line 6: [: 7]: integer expression expected

注意してください" "

./bilet.sh: line 9: [: missing `]'

これは、次のように括弧の間にスペースが必要なためです。

if [ "$age" -le 7 ] -o [ "$age" -ge 65 ]

見て:スペースを追加し、いいえ" "

于 2017-05-11T14:28:17.107 に答える