如何確保第一個命令完成,然后只在 shell 腳本中執行第二個命令
#!/bin/sh
echo "Stopping application"
#command to stop application
echo "Starting application"
#command to start application
在上面的代碼中,我想確保停止應用程式的命令正確完成,然后只啟動應用程式。
如何處理這個。
請注意,在我的情況下,如果應用程式已經停止,那么停止應用程式的命令需要一些隨機時間才能完成,即 20 秒、30 秒。所以添加睡眠不是正確的方法。
腳本背后的主要 moto 是重新啟動應用程式。考慮到如果應用程式已經停止,它就不能正常作業。
如果應用程式正在運行,則腳本運行良好。
uj5u.com熱心網友回復:
您可以使用命令回傳碼和條件來執行此操作。
#!/bin/sh
echo "Stopping application"
#command to stop application
rc=$?
# if the stop command was executed successfuly
if [ $rc == 0 ]; then
echo "Starting application"
#command to start application
else
echo "ERROR - return code: $rc"
fi
uj5u.com熱心網友回復:
有“退出代碼”,試試這個:
ls
...
echo $?
0
比:
ls non_existing_file
ls: cannot access 'non_existing_file': No such file or directory
echo $?
2
此命令echo $?列印上一個命令的退出代碼,如果它是 0 則表示正常,所有非 0 代碼表示某種錯誤,這是不正常的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/405843.html
標籤:
