为什么 root bash 输出是彩色的,而 `sudo ls` 输出不是?

jch*_*ger 5 ls shell bash sudo alias

在 bash 中(我使用的是 Ubuntu 12.04),我以 root(之后sudo su)或普通用户的身份获得彩色输出。

我检查了(阅读这篇文章后.bashrc普通用户和超级用户的文件,以及启用了与颜色相关的选项lsalias ls='ls --color=auto'这是有道理的。

但是在使用时sudo ls我根本没有彩色输出。这是为什么?以及如何永久启用它?

Eri*_*ouf 10

您可以按照https://askubuntu.com/questions/22037/aliases-not-available-when-using-sudo 中所述重新启用别名

简短版本是为 sudo 添加和别名为

alias sudo='sudo '
Run Code Online (Sandbox Code Playgroud)

让它检查命令的其余部分是否有别名。否则,sudo检查它是否是别名,它不是,所以其余的别名检查结束。如果 sudo 是别名并以空格结尾,则还将检查下一部分以查看它们是否是别名,这就是您ls要评估别名所需要的