ログオン時にエラーメッセージが表示されるタイプミスがあります(誰かがlias
ではなくalias
と入力しました)。確認しました /etc/bashrc
と同様 ~/.bashrc
および/etc/profile
と同様 ~/.bash_profile
個々のユーザー用ですが、これらのファイルにはシステムのカスタムエイリアスが含まれていません。システム全体のエイリアスを含めることができる代替ファイルは何ですか?
見つけてよかったですが、一般的な意味ですべてのログインファイルの図を確認する方法は次のとおりです。
# 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つです。
見つかりました:/etc/profile.d/useralias.sh
そして、速くて汚い群衆のために、私は持っているでしょう...
grep ^lias ~/.* ; grep ^lias /etc/* /etc/*/*
そしてそれが私を正しい方向に向けなかったら、私は頼っていただろう...
grep alias ~/.* > /tmp/alias.txt ; grep alias /etc/* /etc/*/* >> /tmp/alias.txt ; less /tmp/alias.txt
そしてすべてのエイリアス行を校正します。