終了スクリプトを展開するために終了エラーを作成しようとしています。私は今、数以外のものを入力し、私がこれまでにしようとしていることである場合:私はforループの構造体がbashの場合
add 1 2 3 four five
に入力した場合
sum=0
for num in "[email protected]"
do
echo $num | grep -i [^0-9+-]
if ["$?" = 1] then
echo "Sorry, '$num' is not a number"
fi
sum=$((sum + num))
done
echo $sum
例は
four
Sorry, 'four' is not a number
を何あなたは達成したいですか?数字以外の文字列が渡された場合でも、数値としてカウントされます。それが正しいか?また$? = 1が間違っています。正しい構文は$ですか? -eq 1しかし$を使う方が良いですか? -gt 0より頑強です – m47730
@ m47730おそらく '$? 'を使うのではなく、コマンドで直接' if'を使う方が良いでしょう。 –
@TomFenech私はあなたに同意した。私は、 "-gt 0"を "-eq 1"の代わりに使用するほうが良いと言っています。 – m47730