Bash で利用可能なコマンド一覧を出力する compgen コマンド
以前、Bash で利用可能なコマンドを一覧表示するため、環境変数 PATH の中身を ls
するようなスクリプトを紹介した。
今回さらに調べてみると、compgen
というコマンドで利用可能なコマンドを一覧表示できることが分かったので紹介する。
コマンド | 見られるモノ |
---|---|
compgen -a |
エイリアス (alias と同様) |
compgen -b |
組み込みコマンド (ビルトイン) |
compgen -c |
外部コマンド |
compgen -d |
カレントディレクトリのディレクトリ (`ls -l |
compgen -e |
環境変数 |
compgen -f |
カレントディレクトリのファイル (ls -a 相当) |
compgen -k |
予約語 |
compgen -v |
変数 |
compgen -A function |
関数 |
ということで、エイリアス・組み込みコマンド・外部コマンド・キーワード・関数あたりが「全部見たいヤツ」になるかと思うので、
$ compgen -A function -abck
を覚えておくと良さそう。
compgen
って何のためのコマンドなの?というと、補完候補 (Completion) のリストを生成 (Generate ≒ 出力) するためのコマンドみたい。
- 参考 : Man page of BASH_BUILTINS
- 参考 : bash - Understand `compgen` builtin command - Unix & Linux Stack Exchange
- 参考 : Linux lsでディレクトリだけを表示したい – memlog
find . -maxdepth 1 -type d
ls -l | grep ^d
tree -d