Linux
在腳本中使用 rm -rf
有時
rm -rf
在腳本中使用可能是災難性的例子
rm -rf $TMP/$folder
當 TMP 和 $folder 沒有任何值時,它實際上會
刪除“/”下的所有內容
所以我問如何
rm -rf
在腳本中使用它,這樣它會安全嗎?
- 檢查是否
$TMP
是$TMP/$folder
目錄- 檢查 和 的規範路徑
$TMP
是否$TMP/$folder
不同(想像folder=""
或folder="/"
)- 檢查是否
$TMP/$folder
可寫if [ -d "$TMP" ]\ && [ -d "$TMP/$folder" ]\ && [ "$(readlink -e "$TMP")" != "$(readlink -e "$TMP/$folder")" ]\ && [ -w "$TMP/$folder" ]; then rm -rf "$TMP/$folder" else echo "Could not delete folder \"$TMP/$folder\", TMP=$TMP, folder=$folder" >&2 fi