Bagaimana cara menghapus Alias ​​dari Shell saya secara permanen

28

Ketika saya tidak berada di dekat komputer saya, ada orang yang mendapatkannya dan mengatur Alias lsdi folder root saya. Dia mengaturnya 'yes NeverGonnaGiveYouUp'. Jadi sekarang ketika saya di folder root dan ketik lssaya mendapatkan loop tak terbatas NeverGonnaGiveYouUp. Itu membuatku gila dan aku tidak tahu bagaimana cara menghilangkannya.

Saya sudah mencoba unaliasdan unalias -atetapi mereka hanya menghapusnya sementara. Setelah saya menutup shell dan membukanya kembali. Bagaimana saya menyingkirkan omong kosong ini?

pengguna155462
sumber
2
Apa outputnya grep -n 'NeverGonnaGiveYouUp' ~/.profile ~/.bashrc /etc/bash.bashrc /etc/profile? Ada beberapa file lain untuk dilihat juga tergantung pada shell dan distro Anda..tapi ini harus memberi kita permulaan ..
heemayl
5
Kedengarannya seperti itu modul kernel rick roll LOL
moonbutt74

Jawaban:

24

Jika unalias menghapus masalah (bahkan sementara), kami mendapat konfirmasi bahwa itu adalah alias. Itu bisa "brute terpaksa" keluar dengan menambahkan unalias ls di ~ / .bashrc.

echo "unalias ls" >> ~/.bashrc

Itu akan dikecualikan setiap kali bashrc dibaca dan akan menghapus alias.
Itu akan memberi Anda ketenangan tetapi tidak akan menyelesaikan masalah sebenarnya bahwa beberapa file masih berisi kode untuk memulai kembali alias. Anda perlu menemukan file mana yang mengandung masalah.

Jika menggunakan bash:

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

Itu daftar file yang mungkin baik yang mendapat definisi. Jika tidak ada yang muncul dalam pencarian itu, atau Anda menggunakan shell lain, beri tahu kami untuk bantuan lebih lanjut.


sumber
16

perintah unalias dimatikan alias selama durasi sesi login saat ini. alias tidak dihapus oleh perintah unalias dari file .bashrc, ketika pengguna masuk lagi, alias itu kembali berlaku.

.bashrc adalah file tersembunyi, Anda dapat memeriksa daftar alias dengan mengetik:

$ alias

Periksa file konfigurasi shell ~ / .bashrc dan Anda dapat menghapus alias yang diperlukan secara permanen:

 vi ~/.bashrc

Untuk menemukan Alias:

  $ type --all ls

Hapus alias:

unalias gs

Lebih banyak di Manual

Catatan : unalias -a akan menghapus semua definisi alias dari lingkungan eksekusi shell saat ini.

Ramesh Chand
sumber
-1

Untuk Ubuntu 16.04 LTS Anda dapat menggunakan perintah berikut

cat /dev/null > ~/.bash_aliases
Ashok
sumber
Itu akan menghapus apa pun yang didefinisikan ~/.bash_aliases, bukan hanya lsalias (yang bahkan mungkin tidak didefinisikan di sana).
Stephen Kitt