有时会在sudo的时候用上别名,那么有些什么坑呢,感谢站长指导
先说解决方法
一句命令
1 | debian@debian:~$ alias sudo='sudo ' |
或者加到 ~/.bashrc 等地方
再说过程
比如,我目前是普通用户 debian,然后我定义了一个别名 me1
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的不会作为别名去检查
加了后当然就正确了