Bash

在呼叫 rm 之前確保我在特定文件夾中

  • April 4, 2017

在我的 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

引用自:https://unix.stackexchange.com/questions/355783