![Bashのダブルタップリストを模倣するコマンドはありますか? [コピー]](https://linux33.com/image/82336/Bash%E3%81%AE%E3%83%80%E3%83%96%E3%83%AB%E3%82%BF%E3%83%83%E3%83%97%E3%83%AA%E3%82%B9%E3%83%88%E3%82%92%E6%A8%A1%E5%80%A3%E3%81%99%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
bashで[Tab] [Tab]を押すのと同じ可能なオートコンプリートのリストを取得したいのですが、コマンドを使用します。これを行う方法はありますか?
答え1
を使用できますcompgen
。これは通常、Tabキーを2回押すと呼び出されるプログラムです。
$ compgen -c c
cls
case
coproc
command_not_found_handle
caller
cd
command
compgen
complete
compopt
continue
clamd
cracklib-check
cpgr
cupsreject
cupsdisable
cupsaccept
cron
cppw
<100's more lines...>
また、シェル内蔵機能も付属しています!バラよりこの問題そしてman compgen
。
出力は、1行ではなく列(bashの実行方法)に基づいてソートされます。ただし、sort
アルファベット順に簡単に出力できます。
答え2
一致ファイルを参照する場合は、おそらく次のことを意味します。
foo<TAB><TAB>
これは代替策でなければなりません。
ls | grep -E '^foo'
マッチングプログラムを参照してください$PATH
。