No bash,
alias sudo='sudo '
fará com que o bash expanda todos os aliases que vierem depois de sudo
.
Estou curioso para saber se há uma maneira de fazer o meu .bash_profile funcionar quando eu sudo um programa.
Por exemplo, eu configuro para alias emerge='emerge -av'
para que eu possa instalar o software e sempre me perguntará se quero continuar antes de fazer o download e instalar. No entanto, eu só notei quando eu sudo emerge foo
, o padrão é apenas o comando simples emerge foo
em vez de emerge -av foo
.
A única coisa que vem em mente para consertar isso é também colocar o alias no .bash_profile do root, mas eu não quero ter que recorrer a isso, já que sempre terei que fazer alterações em dois lugares quando eu quiser adicionar coisas ao meu perfil.
Existe outra maneira de contornar isso que eu não estou familiarizado?
A outra maneira de fazer isso (embora em esta instância especial eu recomendo a resposta do Grawity) seria usar o -E
flag para sudo para herdar o ambiente.
-E The -E (preserve environment) option will override the
env_reset option in sudoers(5)). It is only available when
either the matching command has the SETENV tag or the
setenv option is set in sudoers(5).
Tags bash linux gentoo .bash-profile