Onde os aliases estão configurados no CentOS?

4

Há um erro de digitação que causa uma mensagem de erro no logon (alguém digitou lias em vez de alias ). Verifiquei /etc/bashrc , bem como ~/.bashrc e /etc/profile , bem como ~/.bash_profile para usuários individuais, mas nenhum desses arquivos contém os aliases personalizados para o sistema. Quais arquivos alternativos podem conter aliases do sistema?

    
por Shouvik Sayef 03.05.2013 / 23:11

3 respostas

6

Que bom que você encontrou, mas aqui está uma maneira de ver todos os arquivos de login no sentido geral:

# run strace, see every syscall
strace -o /tmp/bash.out bash --login

(Saia do bash shell)

# filter out opens that returned a descriptor, then use sed to get the file
< /tmp/bash.out grep -o 'open("[^,]*,[^)]*)[ \t]=[ \t][0-9]' | sed -e 's/^[^"]*"//' -e  's/".*$//' | sort -u > /tmp/openedfiles.txt

# grep for the broken alias, or whatever
< /tmp/openedfiles.txt xargs grep '^[ \t]*lias'

strace é um daqueles comandos que podem ser mágicos se você souber usá-lo.

    
por 03.05.2013 / 23:35
0

encontrou: /etc/profile.d/useralias.sh

    
por 03.05.2013 / 23:24
0

E para o público rápido e sujo, eu teria ...

grep ^lias ~/.* ; grep ^lias /etc/* /etc/*/*

e se isso não me aponte o caminho certo, eu teria recorrido a ...

grep alias ~/.* > /tmp/alias.txt ; grep alias /etc/* /etc/*/* >> /tmp/alias.txt ; less /tmp/alias.txt e revisar todas as linhas de alias.

    
por 04.05.2013 / 07:21