[英]Invoking subshells from script does not work if run in background
我有一個在后台運行的腳本,例如:
su - insite1 -c "invokeTest.sh" &
現在,此腳本invokeTest.sh具有以下內容:
while [ 1 ]
do
echo "Hello World from invokeTest" >> /tmp/invokeTest
( exec "/tmp/test.sh" )
done
盡管它打印“ Hello World from invokeTest”,但它不會調用test.sh。
我的問題:有什么方法可以直接從su - insite1 -c" "
在無限while循環中直接調用test.sh,這樣我們就可以完全跳過invokeTest.sh
本身(但test.sh需要在后台運行)?
如果否,如何確保從invokeTest.sh
調用test.sh?
要回答有關不使用腳本來運行命令的問題,可以將任何shell命令放入-c
參數中,包括while
循環。 所以你可以這樣寫:
su - insite1 -c 'while :; do echo "Hello World" >> /tmp/invokeTest; /tmp/test.sh; done' &
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.