.bashrc に追加
function ListAllCommands
{
echo -n $PATH | xargs -d : -I {} find {} -maxdepth 1 \
-executable -type f -printf '%P\n' | sort -u
}
エイリアスも必要な場合:
function ListAllCommands
{
COMMANDS=`echo -n $PATH | xargs -d : -I {} find {} -maxdepth 1 \
-executable -type f -printf '%P\n'`
ALIASES=`alias | cut -d '=' -f 1`
echo "$COMMANDS"$'\n'"$ALIASES" | sort -u
}
bash(1) 組み込みの compgen
を使用できます
compgen -c
実行できるすべてのコマンドが一覧表示されます。compgen -a
実行できるすべてのエイリアスが一覧表示されます。compgen -b
実行できるすべてのビルトインが一覧表示されます。compgen -k
実行できるすべてのキーワードが一覧表示されます。compgen -A function
実行できるすべての機能が一覧表示されます。compgen -A function -abck
上記のすべてを一度に一覧表示します。
生成できるその他の補完については、man ページを確認してください。
質問に直接答えるには:
compgen -ac | grep searchstr
あなたがやりたいことをするべきです。
あります
type -a mycommand
$PATH 内のすべてのエイリアスとコマンドを一覧表示するコマンド mycommand 使用されている。コマンドがいくつかのバリアントに存在するかどうかを確認するために使用できます。それ以外... $PATH とすべてのエイリアスを解析するスクリプトがおそらくいくつかありますが、そのようなスクリプトについては知りません.