Dapatkah zsh
shell dikonfigurasikan untuk menunjukkan apa yang bash
muncul ketika perintah tidak ada, mirip dengan ini:
kahless:~$ sysv-rc-conf
The program 'sysv-rc-conf' is currently not installed. You can install it by typing:
sudo apt-get install sysv-rc-conf
daripada prompt ZSH:
[kahless /home/teward]% sysv-rc-conf
zsh: command not found: sysv-rc-conf
Catatan Saya tidak ingin mengubah prompt itu sendiri, tetapi saya ingin mengubah hasilnya dari zsh: command not found
menjadi bash-like The program 'progname' is currently not installed. You can install it by typing:
atau sejenisnya.
Apakah ini mungkin dengan ZSH?
The program 'progname' is currently not installed. You can install it by typing:
bagian)zsh: command not found: sysv-rc-conf
zsh: command not found
garis.command not found
pesan Anda dapat menambahkanexit
di akhir fungsicommand_not_found_handler
di/etc/zsh_command_not_found
.Perhatikan bahwa Anda mungkin ingin menambahkan tanda centang jika file ada jika Anda membagikan .zshrc di seluruh distribusi yang tidak memiliki
/etc/zsh_command_not_found
file:Juga, jika Anda menggunakan oh-my-zsh , sudah ada plugin
command-not-found
,, yang dapat Anda tambahkan keplugins
variabel Anda yang melakukan hal yang sama.sumber
Jika Anda menggunakan oh-my-zsh , Anda bisa mencari "plugins" di dalam
.zshrc
.Tambahkan
command-not-found
plugin ke daftar plugin untuk autoload (plugin ini sudah diinstal secara default).Seperti ini:
sumber
Cara kerjanya adalah melalui fungsi command_not_found_handle () di bash. bash menyediakan sebuah hook yang pada dasarnya adalah sebuah fungsi yang dipanggil ketika sebuah perintah tidak ditemukan. Implementasi bash Ubuntu menjebaknya dan melakukan pencarian paket, sedangkan bash Debian tidak (dan sama dengan zsh). Anda mungkin ingin memeriksa halaman manual zsh untuk melihat apakah itu memiliki fungsi yang sama.
Inilah cara Anda memulai, berharap zsh sama.
sumber
command-not-found
secara default dan Debian tidak. Fitur sudah ada untuk zsh juga, hanya saja tidak diaktifkan secara default.command_not_found_handler
dalam zsh. Lihat zsh.sourceforge.net/Doc/Release/Command-Execution.html .Juga jika Anda tidak ingin zsh memiliki perilaku ini 100% dari waktu Anda bisa melakukan sesuatu seperti:
/usr/lib/command-not-found urxvt
atau tambahkan perintah-tidak-ditemukan ke $ PATH Anda
sumber