私はbashでのプログラミングに不慣れで、スクリプトを書こうとしています。これまでのところ、それは非常に初歩的なものですがdone
、最後に上記のエラーが発生しています。
for ((i = 1; i < 13; i++)) do
if [ "$i" -lt "4" ]; then
touch Block1/B8IT11"$i".txt
echo B8IT11"$i" created
else if [ "$i" -gt "3" -a "$i" -lt "7" ]; then
touch Block2/B8IT11"$i".txt
echo B8IT11"$i" created
else if [ "$i" -lt "6" -a "$i" -lt "10" ]; then
touch Block3/B8IT11"$i".txt
echo B8IT11"$i" created
else
touch Block4/B8IT11"$i".txt
echo B8IT11"$i" created
fi
done
私の目に私は、問題を見ることができないif-else if-else
で終了するfi
とfor
ループがで終了しなければなりませんdone
。
私はやったしcat -v
、それさえもdos2unix
。誰かが私が欠けているものを見ますか?
else if
bashにはありません。あなたが持っているのは、else
(ネストされた)if
構成が続くことです。アウターelse
は終端されていません(欠落していますfi
)。Bashは、あなたがまだelse
ブロック内にいると考えているためdone
、現時点では予期していません。
for ((i = 1; i < 13; i++)) do
if [ "$i" -lt "4" ]; then
touch Block1/B8IT11"$i".txt
echo B8IT11"$i" created
else
if [ "$i" -gt "3" -a "$i" -lt "7" ]; then
touch Block2/B8IT11"$i".txt
echo B8IT11"$i" created
else
if [ "$i" -lt "6" -a "$i" -lt "10" ]; then
touch Block3/B8IT11"$i".txt
echo B8IT11"$i" created
else
touch Block4/B8IT11"$i".txt
echo B8IT11"$i" created
fi
done
修正:すべてをelse if
に変更しますelif
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加