[英]Run a shell script on a screen in parallel and serially at the same time
我想在 GNU 屏幕內的 shell 腳本中運行 3 個命令。
以下是來自script.sh
的內容。
counter=$((counter + 1))
screen -dmS $counter sh -c \
"command1;exec bash;\
python3 script2.py ${word};exec bash &&\
command3;exec bash"
當我運行./script.sh
。 我想先運行 command1,然后運行 python3 script2。 我只想在 python3 script2 完成后運行 command3。
我希望能夠打開屏幕並檢查 python3 script2 進程,直到它完成,這就是我這樣做的原因。
但是我可以看到命令 1 和命令 3 正在同時運行。
執行此代碼的正確方法是什么?
因為在 python3 script2.py ${word} 和 exec bash 之間有“,”。 它會在不等待 script2 完成的情況下執行exec bash 。
exec bash將立即完成並在script2完成之前調用命令 3
我做了以下更改
"command1 ; exec bash;\
python3 script2.py ${word} && exec bash ;\
command3;exec bash"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.