#!/bin/bash
a=0
while ["$a" -lt 10]
do
a=`expr "$a" + 1`
echo $a
done
ループ誤差ながら:シェルスクリプトこれは誤りである
a.sh: 3: a.sh: [0: not found
#!/bin/bash
a=0
while ["$a" -lt 10]
do
a=`expr "$a" + 1`
echo $a
done
ループ誤差ながら:シェルスクリプトこれは誤りである
a.sh: 3: a.sh: [0: not found
あなたの括弧の前後にスペースを維持する必要があります。
while [ "$a" -lt 10 ]
bashは文字列をinterpretesからです。単語を区切るためにスペースを使います。あなたが書くとき["$a"
; [0
($ aが0に置き換えられた後)
申し訳ありません、重複した回答を削除しました! – aliasav
ありがとう、素晴らしい! –
http://www.shellcheck.net/このようなタイプミスには非常に便利です – Sundeep
['if'の2つの文字列変数を比較するにはどうすればよいですか? Bashのステートメント?](http://stackoverflow.com/questions/4277665/how-do-i-compare-two-string-variables-in-an-if-statement-in-bash)、[なぜそうする必要がありますか? Bashスクリプトで '\ ['の前と '\]'の前にスペースを入れますか?](http://stackoverflow.com/questions/9581064/why-should-there-be-a-space-after-and-before -in-a-bash-script) –