web-dev-qa-db-ja.com

シェルからエイリアスを完全に削除する方法

私が自分のコンピューターの近くにいないときに、誰かがそれを取得して、ルートフォルダーにlsのエイリアスを設定しました。彼はそれを'yes NeverGonnaGiveYouUp'に設定しました。ルートフォルダーに移動してlsと入力すると、NeverGonnaGiveYouUpの無限ループが発生します。それは私を狂わせており、それを取り除く方法がわかりません。

私はすでにunaliasunalias -aを試しましたが、一時的に削除するだけです。シェルをいったん閉じて再度開くと、元に戻ります。このがらくたを取り除くにはどうすればよいですか?

29
user155462

Unaliasが問題を(一時的にも)削除した場合、それがエイリアスであることを確認しました。 〜/ .bashrcにunalias lsを追加することで、「総当たり」になる可能性があります。

echo "unalias ls" >> ~/.bashrc

これは、bashrcが読み込まれるたびに実行され、エイリアスが削除されます。
それはあなたに平安をもたらしますが、一部のファイルがエイリアスを再起動するコードをまだ含んでいるという実際の問題を解決しません。問題が含まれているファイルを見つける必要があります。

Bashを使用している場合:

grep "NeverGonnaGiveYouUp" /etc/profile /etc/bash.bashrc \
      ~/.bashrc ~/.bash_profile ~/.profile \
      /root/.bashrc /root/.bash_profile /root/.profile

これは、定義を取得した可能なファイルの良いリストです。その検索で何も表示されない場合、または他のシェルを使用している場合は、さらにサポートが必要な場合はお知らせください。

25
user79743

unaliasコマンドは、現在のログインセッションの間、エイリアスをオフにしました。エイリアスはunaliasコマンドによって.bashrcファイルから削除されません。ユーザーが再度ログインすると、そのエイリアスが再び有効になります。

.bashrcは隠しファイルです。次のように入力して、エイリアスのリストを確認できます。

$ alias

シェル構成ファイル〜/ .bashrcを確認すると、必要なエイリアスを完全に削除できます。

 vi ~/.bashrc

エイリアスを見つけるには:

  $ type --all ls

エイリアスを削除します。

unalias gs

詳細 手動

unalias -aは、現在のシェル実行環境からすべてのエイリアス定義を削除します。

16
Ramesh Chand