Zsh
zsh中的雙重rm驗證
當我在 zsh 中執行 rm * 時,我得到如下資訊:
2014-06-08 10:14:23 $ rm * zsh: sure you want to delete all the files in /home/assay/assay/log [yn]? y rm: remove regular file `development.log'? y
首先 zsh 詢問我是否確定要刪除所有文件,然後 rm 詢問每個特定文件。
我如何才能進行 zsh 驗證?
消息“zsh: sure you want to delete all the files”是一個 zsh 功能,特別是通過呼叫一個使用glob 擴展或之前
rm
的參數呼叫的命令來觸發。您可以使用 關閉此功能。*``something/*
setopt rm_star_silent
消息“rm: remove regular file”來自
rm
命令本身。預設情況下不會顯示,僅在rm
使用 option 呼叫時才會顯示-i
。如果您不想要此消息,請不要傳遞該選項。即使沒有-i
,rm
如果您嘗試刪除只讀文件,也會提示確認(帶有不同的消息);您可以通過傳遞選項來刪除此確認-f
。由於您沒有通過
-i
命令行,rm
因此可能是別名rm -i
(它也可能是函式、非標準包裝器命令或不同的別名,但別名rm -i
是迄今為止最合理的)。一些預設配置包含alias rm='rm -i'
在它們的 shell 初始化文件中;這可能是您的發行版或系統管理員設置的內容,或者您從某處獲取並添加到配置文件中然後忘記的內容。檢查您~/.zshrc
的別名定義rm
。如果找到,請將其刪除。如果找不到,請添加命令以刪除別名:unalias rm