
我有一個別名,我想透過 sudo 作為普通用戶和 root 用戶使用它。具體來說,是這樣的:
alias rm=trash
作為普通用戶,這工作得很好,當我使用它sudo -i
來獲取 root shell 提示符時,它工作得很好,但如果我使用sudo rm
,則別名不適用。那麼我需要將別名放在哪裡才能在一次性 sudo 命令中使用呢?
答案1
為 sudo 建立一個別名,末尾有一個空格:
alias sudo='sudo '
然後所有其他別名都將與 sudo 一起使用。
但就像其他答案中提到的那樣,使用別名rm
來執行trash
可能是一個壞主意。我喜歡做的是rm
像這樣「禁用」:
alias rm='echo "rm is disabled, use trash or /bin/rm instead."'
這樣你很快就會養成打字trash
而不是打字的習慣rm
。
答案2
這是行不通的,但是如果你使用函數並導出它,它就可以了。
dl () { trash "$@"; }
export -f dl
使用別名是一個壞主意rm
,因為如果您養成了使用別名或函數來保護您的習慣,並且在某些時候別名由於某種原因不可用,那麼您使用rm
它會刪除一堆難以恢復的內容。