有时会在sudo的时候用上别名,那么有些什么坑呢,感谢站长指导
先说解决方法
一句命令
1 | debian@debian:~$ alias sudo='sudo ' |
或者加到 ~/.bashrc
等地方
再说过程
比如,我目前是普通用户 debian
,然后我定义了一个别名 me
1
debian@debian:~$ alias me='whoami'
1 | debian@debian:~$ me |
这时,我们在终端输 sudo me
,肯定是不行的
1 | debian@debian:~$ sudo me |
在站长的帮助下,输入以下命令,就解决了
1 | debian@debian:~$ alias sudo='sudo ' |
然后我们试一下
1 | debian@debian:~$ me |
原理
先看下文档
先看下文档
或者直接在终端敲1
alias --help
1 | NAME |
其中有一句
1 | A trailing space in VALUE causes the next word to be checked for alias substitution when the alias is expanded. |
大致意思是,如果右边的VALUE
以空格结尾,则会检查空格后的那个单词是否定义别名
那么还是以上面的 sudo me
为例
也就是说在不设设置 alias='sudo '
的时候,bash只会检查第一个单词sudo
是否定义别名,后面me
的不会作为别名去检查
加了后当然就正确了