我有一个别名,我想通过 sudo 作为普通用户和 root 用户使用它。具体来说,是这样的:
alias rm=trash
Run Code Online (Sandbox Code Playgroud)
这作为普通用户工作正常,当我sudo -i用来获取 root shell 提示时它工作正常,但如果我使用sudo rm,则别名不适用。那么我需要在哪里放置我的别名以便它在一次性 sudo 命令中工作?
Dar*_*idl 11
为 sudo 创建一个别名,末尾有一个空格:
alias sudo='sudo '
Run Code Online (Sandbox Code Playgroud)
然后所有其他别名将与 sudo 一起使用。
但是就像在另一个答案中提到的那样,rm执行别名trash可能是一个坏主意。我喜欢做的是rm像这样“禁用” :
alias rm='echo "rm is disabled, use trash or /bin/rm instead."'
Run Code Online (Sandbox Code Playgroud)
有了这个,你很快就会养成打字trash而不是rm.
这是行不通的,但是如果你使用一个函数并导出它,它就可以了。
dl () { trash "$@"; }
export -f dl
Run Code Online (Sandbox Code Playgroud)
使用别名是一个坏主意rm,因为如果您养成了使用别名或函数保护您的习惯,并且在某些时候由于某种原因别名不可用,那么您使用rm它会删除一堆难以恢复的内容。
| 归档时间: |
|
| 查看次数: |
4648 次 |
| 最近记录: |