我有一個bash腳本,它可以轉發到其他shell腳本和python腳本的混合。如果這些腳本中的任何一個失敗,或者用戶取消腳本(CTRL + C),我想在所有情況下執行一些清理。Bash腳本退出清理
許多用戶可以在同一個操作系統用戶下的SSH框中啓動並啓動構建。這是我們的構建服務器。該腳本需要編寫一個「build.lock」文件或其他東西,無論何時腳本退出(錯誤,用戶退出等)時都會清理它。如果腳本在第一個執行完成之前再次運行,它應該檢查「build.lock」文件並拒絕繼續。
我假設這是防止腳本並行執行的最佳方法。我們在Ubuntu上使用Bash。下面是腳本本身:
#!/bin/bash -e
pushd build-server-scripts > /dev/null
./build.sh "[email protected]"
popd > /dev/null
我的想法是一個很好的解決這個問題的方法嗎?如果是這樣,那麼執行它的方式是什麼?如果不是,每個人都會推薦哪些其他想法?我對Bash腳本沒有經驗,所以我隨時學習。
我沒有時間在此刻一個完整的答案,但[文件](HTTP:// Linux操作系統。 die.net/Bash-Beginners-Guide/sect_12_02.html)在12.2.3.2似乎完全做你正在做的事情。祝你好運! –