web-dev-qa-db-ja.com

CentOSのエイリアスはどこに設定されていますか?

ログオン時にエラーメッセージが表示されるタイプミスがあります(誰かがliasではなくaliasと入力しました)。確認しました /etc/bashrc と同様 ~/.bashrcおよび/etc/profile と同様 ~/.bash_profile個々のユーザー用ですが、これらのファイルにはシステムのカスタムエイリアスが含まれていません。システム全体のエイリアスを含めることができる代替ファイルは何ですか?

4
Shouvik Sayef

見つけてよかったですが、一般的な意味ですべてのログインファイルの図を確認する方法は次のとおりです。

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

(bashシェルを終了します)

# 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は、使い方を知っていれば魔法のようなコマンドの1つです。

6
Rich Homolka

見つかりました:/etc/profile.d/useralias.sh

0
Shouvik Sayef

そして、速くて汚い群衆のために、私は持っているでしょう...

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

そしてそれが私を正しい方向に向けなかったら、私は頼っていただろう...

grep alias ~/.* > /tmp/alias.txt ; grep alias /etc/* /etc/*/* >> /tmp/alias.txt ; less /tmp/alias.txtそしてすべてのエイリアス行を校正します。

0
Nevin Williams