Bash
執行腳本時忽略前 x 行?
我正在製作一個腳本,該腳本最終通過使用
exec
. 問題是前幾行只應該在您每次啟動腳本時執行,所以我想知道是否有什麼辦法可以解決這個問題。這是一個例子:echo "welcome" read yesno if [[ $something = etc.. ]]; then whatever fi exec ~/bin/script
這是簡化的,但這是我的腳本,我想忽略第一行,(
echo
)。exec
我可以添加一些選項嗎?我的意思是我可以複製腳本並省略第一行,但這感覺像是一個糟糕的解決方案。
使用變數,顯而易見的做法是傳入上一個提示的結果:
if [[ -z "$yesno" ]]; then echo "welcome" read yesno fi if [[ $something = etc.. ]]; then whatever fi # doing it this way makes it exported into the subprocess yesno=$yesno exec ~/bin/script
您可以嘗試在 /run 中放置一個臨時文件,在啟動時檢查它是否存在。如果沒有,你可以回顯,如果它存在,你之前執行過。當您完成刪除該文件時。