私はwhileループで配列を取得しようとしているので、配列の値も更新する必要があります。"[0:コマンドが見つかりません" Bashで
以下は私の試みたコードです。このエラーが発生する[0: command not found
#!/bin/bash
i=0
while [$i -le "{#myarray[@]}" ]
do
echo "Welcome $i times"
i= $(($i+1)))
done
私はすべての助けと感謝の前に感謝します!
私はwhileループで配列を取得しようとしているので、配列の値も更新する必要があります。"[0:コマンドが見つかりません" Bashで
以下は私の試みたコードです。このエラーが発生する[0: command not found
#!/bin/bash
i=0
while [$i -le "{#myarray[@]}" ]
do
echo "Welcome $i times"
i= $(($i+1)))
done
私はすべての助けと感謝の前に感謝します!
[
の後に空白が必要で、割り当てに=
の前後にスペースが必要です。 $(($i+1)))
は((...))
式の出力を実行しようとしますが、あなたが望むものではないと確信しています。また、配列名の前に$
がありません。
これらの事を修正して、あなたのwhileループは次のようになります。
#!/bin/bash
i=0
while [ "$i" -le "${#myarray[@]}" ]
do
echo "Welcome $i times"
i=$((i + 1))
done
i=$((i + 1))
はまた、[ ... ]
((i++))
も参照してください:
iffy質問への偉大な答え(あなたが指摘しているように、複数のダブに分割するのに十分広いエド)。 –
私はグレッグのウィキbashを学習に非常に有用であることが判明:http://mywiki.wooledge.org/BashGuide/TestsAndConditionals – kalaracey