我正在製作一個腳本,最終透過使用 再次執行自身來重新開始exec
。問題是前幾行只應該在您每次啟動腳本時運行,所以我想知道是否可以做任何事情來解決這個問題。這是一個例子:
echo "welcome"
read yesno
if [[ $something = etc.. ]]; then
whatever
fi
exec ~/bin/script
這是簡化的,但如果這是我的腳本,我想忽略第一行 ( echo
)。我可以添加一些選項嗎exec
?我的意思是我可以複製腳本並省略第一行,但這感覺像是一個糟糕的解決方案。
答案1
對於變量,顯而易見的事情就是傳入上一個提示的結果:
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
答案2
您可以嘗試在 /run 中放置一個臨時文件,在啟動時檢查它是否存在。如果沒有,你可以回顯,如果存在,你之前已經運行過它。完成後刪除該檔案。