任何人都可以告訴我如何編寫腳本以執行上次停止的腳本。我的bash腳本包含24個順序執行的腳本文件。但是,如果任何一個腳本失敗,下次我執行腳本文件時,我不希望腳本從script1開始,而是應該從上次失敗的位置開始。請指教。bash腳本從上次失敗的位置執行
4
A
回答
2
一種粗暴的方式:
#!/bin/bash
# Needs bash 4 or later, for `;&` to work
[ "$1" = "--frest_start" ] && rm statusfile
touch statusfile
read status < statusfile
[ "$status" = "" ] && status=0
case $status in
0) ./script1; echo 1 > statusfile ;&
1) ./script2; echo 2 > statusfile ;&
2) ./script3; echo 3 > statusfile ;&
# ....... & so on till
23) ./script24; echo 24 > statusfile ;;
esac
但通過Makefile
做它似乎是一個不錯的解決方案太...
.NOTPARALLEL
.PHONY: all frest_start
all:
make step1
make step2
make step3
....
make step24
step%: script%
"./$<"
touch "[email protected]"
frest_start:
rm step*
make all
-1
#mail.sh
function errortest {
"[email protected]"
local status=$?
if [ $status -ne 0 ]; then
echo "error with $1" >&2
fi
return $status
}
errortest sh /home/user1/test1.sh
errortest sh /home/user1/test2.sh
每當發生在腳本的任何錯誤
,它給出終端錯誤我在我的機器上測試過。
相關問題
- 1. Ant腳本執行失敗
- 2. 從php執行bash腳本
- 3. 如何從任何位置執行bash腳本?
- 4. 確定從腳本執行的位置
- 5. 從bash腳本啓動進程失敗
- 6. bash腳本未能執行bash腳本
- 7. 執行bash腳本
- 8. 執行bash腳本
- 9. 從另一個位置運行bash腳本,但引用了腳本的位置
- 10. 從bash腳本中的函數調用期望腳本失敗
- 11. 從linux中的groovy執行bash腳本
- 12. 從bash腳本執行python腳本時逃脫bash通配符?
- 13. bash的嵌套而:下面的bash腳本只執行一次
- 14. 構建失敗而執行Ant腳本
- 15. 使用Popen執行腳本失敗
- 16. Windows中Powershell腳本執行失敗
- 17. 命令執行失敗perl腳本
- 18. Git BASH從命令行運行的腳本的位置
- 19. 執行PHP腳本8次後Bash腳本停止
- 20. 安裝PostgreSQL的Bash腳本 - 失敗
- 21. 從Windows bat文件執行bash腳本
- 22. 如何從bash腳本中執行SQL?
- 23. 執行從bash腳本PHP文件
- 24. 如何從bash shell執行.py腳本
- 25. 從bash腳本執行R文件
- 26. 無法從PHP執行Bash腳本
- 27. 從bash腳本執行lsof時出錯
- 28. 從Cygwin bash腳本執行Windows命令
- 29. 如何從bash執行.sql腳本
- 30. Bash腳本 - 執行語法
聽起來像你需要一個makefile依賴於一些狀態文件,隨着make過程的進展而寫入 –