よくbashでコマンドの一覧を取得する際に利用するcompgen
だが、残念ながらzshではデフォルトで有効になっていない。
で、その状態でzshでPATH配下にあるコマンドの一覧を取得したいといった場合、どうすればいいだろう。
zshでは、以下のコマンドでPATH配下にあるコマンドの一覧が取得できる。
whence -pm "*" # フルパス表示
print -rl -- $commands # フルパス表示
print -rl -- ${(ko)commands} # コマンドのみ表示
ちなみに、以下のコマンドをzshrcなどに記述しておくことで、zshでもcompgenを利用できるようになる。
autoload -Uz bashcompinit
bashcompinit