Os aliases do seu ID de usuário não são usados via sudo
-
Você pode ou não querer usar o truque vinculado nos comentários.
-
Pode haver motivos para não ter aliases ou outros aliases para
root
.Esses aliases podem ser armazenados em
/root/.bashrc
, como você já sabe. Eles podem ser usados quando você executa interativamente no prompt raiz#
apóssudo -i # activates root's aliases
mas eles não são ativados quando seguidos pelo alias na linha de comando
sudo -i <specific alias> # does not activate root's aliases
sudo -H <specific alias> # does not activate root's aliases
Exemplos:
$ LANG=C sudo -i
root@xenial32:~# alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
root@xenial32:~# grep -e ^alias -e \ alias /root/.bashrc
# enable color support of ls and also add handy aliases
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
Usando um dos aliases de root
root@xenial32:~# l
bin@ extractor.log logfile.tar mkusb.log
root@xenial32:~# exit
logout
sudodus@xenial32 ~ $ LANG=C sudo -i l
-bash: l: command not found
[127] sudodus@xenial32 ~ $ LANG=C sudo -H l
sudo: l: command not found
[1] sudodus@xenial32 ~ $ LANG=C sudo -i alias
sudodus@xenial32 ~ $
Eu não usaria alias sudo='sudo -i'
porque
-
existe o risco de você esquecer que tem privilégios de superusuário e pode fazer coisas que você deve fazer apenas com privilégios normais. Em outras palavras, eu diria que ele derrota o propósito de
sudo
de ir sempre ao prompt root -
um alias não funciona na linha de comando com
sudo -i <specific alias>
-
geralmente é eficiente usar
sudo
com as configurações padrão dos comandos de modo de texto -
para comandos da GUI Eu recomendaria
sudo -H
ougksudo