Bash
在呼叫 rm 之前確保我在特定文件夾中
在我的 bash 腳本中,我有一些非常危險的行,例如:
rm -r *
如果它在某個文件夾中執行錯誤,那將是非常災難性的。基本上,我需要添加一個 if 條件以使其不會觸發,除非我是一個文件夾呼叫
blah_pew_blah
,在這種情況下造成的損害可能是最小的.. .但是我該如何檢查呢?謝謝你。
假設是現代 bash,您可以通過執行獲取目前目錄的名稱
basename $(pwd)
這可以在條件中使用,例如
if test $(basename $(pwd)) != 'blah_pew_blah'; then printf 'Not in expected directory, aborting!\n' exit 0 fi
case `command -p pwd -P` in */foo ) find `pwd` -mindepth 2 -maxdepth 2 -type d -exec ... esac