寫幾個腳本我有一個腳本這是這樣的:腳本,在擊
for k in {1..100..1}
do
cat <<EOF> script${k}.sh
do some things
cat <<EOF> somefile
text
EOF
do some things
EOF
done
所以,簡單地說,我想100個腳本,看起來像:
do some things
cat <<EOF> somefile
text
EOF
do some things
的問題是,當我運行這個時,Bash將第一個EOF與第三個EOF關聯,並停止寫入,並開始嘗試運行下一個命令。
我該如何解決這個問題?
在此先感謝!
編輯:我糾正了Aaron指出的一個錯字。另外,我會擴大一點我原來的問題。按照Aaron的指示,我使用END作爲第一個和最後一個EOF。它工作正常,但我仍然有一些麻煩。作爲更具體的,我的代碼看起來是這樣的:
for k in {1..100..1}
do
cat <<END> script${k}.sh
mkdir folder${k}
cd folder${k}
cat <<EOF> somefile
text
EOF
for j in {1..80..1}
cat <<EOF> program${j}
text
EOF
執行一些東西
END
done
我猜你看到的麻煩。現在代碼工作得很好。問題在於變量。在END之間的$ {k},在script${k}
中未被更正,並被相應的數字替換!
感謝所有幫助:-)
您不能縮進EOF,它不會被識別。 – choroba
謝謝。我沒有縮進它。我只是在這裏寫了這樣的文章,所以你可以更清楚地閱讀它 – Qwertuy