についてのいくつかの言葉 Tab
TabTerdon が別の回答で下線を引いたように、使用可能なコマンドの中で部分的に書かれたコマンド(またはオプション)を完了するのは素晴らしいことです。
コマンドを完了するには、1回押すTabだけで十分です。リスト全体を表示するには、もう一度押しTabます。
さらに、の動作をカスタマイズするTabこともできます。たとえば、次の2行を試してください。
bind "TAB:menu-complete"
bind "set show-all-if-ambiguous on"
最初Tabのコマンドはすべての可能性を示し、最初のコマンドを使用できるようにコマンドをオートコンプリートします。2回目を押すTab と、コマンドの循環が開始されます。
ノート:
ルールオプションを使用して、独自のbash補完スクリプトを記述できます...
記事にはいくつかのヒントがあります。bash補完の概要:最初の部分はベース用で、2番目の部分は独自のスクリプトを記述するためのものです。
あなたは興味深いbind
complete
以下の参照を見つけるかもしれません。
2番目の回答:絶対パスとショートカット
スクリプトを記述し、トロイの木馬として悪用されるリスクを回避したい場合でも、各コマンドに絶対パス(完全)を記述することは必ずしも必須ではありません。
いくつかありますショートカット例えば、として、より速く行くために、Tab、、、および現在のシェルに定義されているすべての変数。 Alt+..~
ここではいくつかの例(以下の.手段ここと~手段家):
ファイルを現在のディレクトリにコピーするには、書き込み
を行うだけで十分です。ディレクトリからファイル
をコピーできる現在のディレクトリにコピーするには現在のディレクトリから最後のディレクトリにファイルをコピーするには、履歴に保存されている最後のコマンドの最後の引数を書き込みます。 。もう一度押すと、見つかったものをbash履歴の前の位置の1つで置き換えます。例ではより簡単です:cp /my/far/far/away/myfile .
home
cp ~/myfile .
cp myfile $OLDPWD
Alt+.
mkdir OldDir
mkdir NewDir
cd # here press `Alt + .` and it will autocomplete with NewDir
# press `Alt + .` again and you will see "cd OldDir"
参照:
- bash補完の概要:パート1とパート2
help bind
、bind
組み込みのコマンドであるため、はいヘルプ
help complete
そしてcomplete -p | less
、居心地の良いフォーマットでリストを持っています。
help pushd
そしてhelp popd
、スタックからディレクトリをプッシュしてポップします。
- プログラム可能な補完ビルトイン