タブ補完として表示されるコマンドのリストからどのようにパイプできますか?

タブ補完として表示されるコマンドのリストからどのようにパイプできますか?

Bashでコマンドを使用すると、私は好きです。ダブル-Tab使用可能なコマンドのオプションを表示します。一部のコマンドは他のコマンドよりも一致する可能性が高くなります。例:以下は、git入力して押した後のいくつかの出力ですTab Tab

$ git
git                       git-effort                git-quick-stats
git-alias                 git-extras                git-reauthor
git-archive-file          git-feature               git-rebase-patch
git-authors               git-filechange-search     git-receive-pack
git-back                  git-force-clone           git-refactor
git-blametool             git-fork                  git-release
git-branch_               git-fresh-branch          git-rename-branch
git-branchz               git-graft                 git-rename-tag
git-bug                   git-gs_blametool          git-repl
git-bulk                  git-gs_branch_            git-reset-file
git-changelog             git-gs_changes            git-root
git-changes               git-gs_diffc              git-rscp
git-chore                 git-guilt                 git-scp
git-clang-format          git-ignore                git-sed
git-clang-format-6.0      git-ignore-io             git-setup
git-clear                 git-info                  git-shell
git-clear-soft            gitk                      git-show-merged-branches
git_commit_r              git-lfs                   git-show-tree
git-commits-since         git-line-summary          git-show-unmerged-branches
git-contrib               git-local-commits         git-squash
git-count                 git-lock                  git-stamp

たとえば、doubleの出力をTabどこかにパイプする方法はありますかgrep?関連記事を見つけました(TABオートコンプリートは完了するオプションをどのように見つけますか?)、しかし出力をgrep

ベストアンサー1

コマンドの場合を使用しますcompgen -c。この単語はcompgen明らかに「完成ジェネレータ」を表します。ソースhelp compgen(強調追加):

compgen: compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]

オプションに従って可能な完了を表示します。

可能な生成を行うシェル関数内で使用するためのものです。 完成。オプションのWORDパラメーターが指定されている場合は一致します。 WORDが作成されました。

終了ステータス:無効なオプションが指定されているかエラーが発生しない限り、成功を返します。

詳細は組み込みのbashシェルコマンドなので、man bashページで検索してみてください。compgen

使用例:

$ compgen -c bas
basename
base64
bashbug
bash

その出力を単にgrep

$ compgen -c bas | grep bug
bashbug

おすすめ記事