mantenho aliases quando uso o sudo bash

mantenho aliases quando uso o sudo bash

Eu tenho um servidor Centos 5.5 que possui meus próprios comandos de alias para minha conta. Quando faço isso, sudo bashainda 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.

informação relacionada