rm -rf
rm -r
rm -f
rm
當這些命令中的任何一個運行時,我希望它們運行某個腳本。執行命令時運行腳本,不管命令的參數如何
喜歡的東西alias ?='some_script.sh'
(在這種情況下,問號意味着任何參數的rm命令。)
如何才能做到這一點?我不必使用別名,任何工作都很好。
rm -rf
rm -r
rm -f
rm
當這些命令中的任何一個運行時,我希望它們運行某個腳本。執行命令時運行腳本,不管命令的參數如何
喜歡的東西alias ?='some_script.sh'
(在這種情況下,問號意味着任何參數的rm命令。)
如何才能做到這一點?我不必使用別名,任何工作都很好。
不要使用別名;定義一個函數:
rm() {
some_script.sh
command rm "[email protected]"
}
修改的rm
時的行爲以任何方式應用於標準的免責聲明。不要這樣做some_script.sh
旨在成爲某種安全網。如果在沒有安裝此安全網的機器上運行rm
,您可能會變得依賴它,並且感到不快。
如果您的要求是在每個bash
命令上運行該腳本,那麼最好的方法是將其附加到bash
中的一個特殊變量,每次在提示中輸入命令時都會執行該變量。
的PROMPT_COMMAND
變量,所有你需要做的就是你的腳本some_script.sh
追加到它像
$ PROMPT_COMMAND+="some_script.sh;"
或者,如果你想只在命令rm
腳本,然後保持一個別名是最好的方式做它。進行更改後,在您的~.bashrc
和source
中添加該行。
alias rm="some_script.sh; rm"