およびif
に関して、次のステートメントの何が問題なのかわかりません。 はまだ開発中であることに留意してください。ステートメントではまだテストできていないので、おそらく間違っているでしょう。elif
then
printf
発生したエラーは次のとおりです:
./timezone_string.sh: line 14: syntax error near unexpected token `then'
./timezone_string.sh: line 14: `then'
そして、その声明は次のようになります。
if [ "$seconds" -eq 0 ];then
$timezone_string="Z"
elif[ "$seconds" -gt 0 ]
then
$timezone_string=`printf "%02d:%02d" $seconds/3600 ($seconds/60)%60`
else
echo "Unknown parameter"
fi
ベストアンサー1
elif
との間にスペースがありません[
:
elif[ "$seconds" -gt 0 ]
すべきである
elif [ "$seconds" -gt 0 ]
全体として、従うべき構文は次のようになります。
if [ conditions ]; then
# Things
elif [ other_conditions ]; then
# Other things
else
# In case none of the above occurs
fi
この質問は多くの閲覧数を得ているようですので、従うべき構文が次のとおりであることを示すことが重要です。
if [ conditions ]
# ^ ^ ^
つまり、括弧の周囲にスペースが必要です。そうしないと機能しません。これは、[
それ自体がコマンドであるためです。
のような (または類似の) が表示されない理由は、と を確認した後、シェルが、、または を探しているelif[: command not found
ためです。ただし、別の が見つかります(形式が誤っている の後)。ステートメントを解析した後にのみ、それが実行されます (そして のようなエラー メッセージが出力されます)。if
then
elif
else
fi
then
elif[
elif[: command not found