Dalam perilaku zsh saya saat ini, menekan tab setelah mengetik "sudo" hanya menambah spasi.
$ sudo ...
Yang benar-benar saya inginkan adalah tab untuk memperluas sepenuhnya ke jalur biner yang akan dieksekusi ketika saya menekan tab, memungkinkan saya untuk melihat apa yang akan dijalankan:
$ /usr/bin/sudo ...
Tujuannya adalah untuk melindungi terhadap kasus di mana pengguna lokal di komputer saya diretas, entri ditambahkan ke $PATH
variabel saya , dan 'sudo' menjalankan program jahat, yang akan menjadi eskalasi yang mudah untuk di-root.
zsh
path
autocomplete
Ali
sumber
sumber
=
dan tekan tab setelah perintah, dan itu akan memperluas nama perintah ke jalur penuh.Jawaban:
Gunakan
bindkey
perintah builtin untuk mengikat kunci ke perintah Zsh, seperti ini:dimana
"^I"
Tab. Anda bisa memasukkan baris ini ke~/.zshrc
file Anda . Peringatan: ini akan memecah pelengkapan argumen secara otomatis.sumber