
Eu tenho um servidor Centos 5.5 que possui meus próprios comandos de alias para minha conta. Quando faço isso, sudo bash
ainda posso usar esses aliases, não precisei adicioná-los ao arquivo .bashrc
.
Tenho outro servidor que é o Centos 6.5. Mas quando eu executo sudo bash
, ele não usará meus aliases do usuário com o qual estou logado. Alguém sabe onde eu configuro para incluir os aliases do usuário no qual estou logado quando uso sudo bash
?
Responder1
Adicione a seguinte linha ao seu ~/.bashrc:
alias sudo='sudo '
Do manual do bash
Os aliases permitem que uma string seja substituída por uma palavra quando ela é usada como a primeira palavra de um comando simples. O shell mantém uma lista de aliases que podem ser definidos e desmarcados com os comandos internos alias e unalias.
A primeira palavra de cada comando simples, se não estiver entre aspas, é verificada para ver se possui um alias. Nesse caso, essa palavra será substituída pelo texto do alias. Os caracteres '/', '$', '`', '=' e qualquer um dos metacaracteres do shell ou caracteres entre aspas listados acima podem não aparecer em um nome alternativo. O texto de substituição pode conter qualquer entrada válida do shell, incluindo metacaracteres do shell. A primeira palavra do texto de substituição é testada para alias, mas uma palavra idêntica a um alias que está sendo expandida não é expandida uma segunda vez. Isso significa que pode-se usar o alias ls para "ls -F", por exemplo, e o Bash não tenta expandir recursivamente o texto de substituição. Se o último caractere do valor do alias for um espaço ou tabulação, a próxima palavra de comando após o alias também será verificada quanto à expansão do alias.
Portanto, o Bash verifica apenas a primeira palavra de um comando em busca de um alias; quaisquer palavras posteriores não são verificadas. Isso significa que em um comando como sudo ll, apenas a primeira palavra (sudo) é verificada pelo bash em busca de um alias, ll é ignorado. Podemos dizer ao bash para verificar a próxima palavra após o alias (ou seja, sudo) adicionando um espaço ao final do valor do alias.
Responder2
Use sudo -E
, que exportará seu ambiente.