次のディレクトリがあるとします。
foo/
bar.js
bar/
fooに入り、cd
「ba」と入力してタブを押すと、ファイル名がフォルダと重なって完了できません。
フォルダ(またはファイル)のみを提供するタブを押し続けることができるキーはありますか?
ベストアンサー1
TL、DR:. /etc/bash_completion
に追加してください.bashrc
。
正確な質問に答えるために、そのような組み込みコマンドはありません。バッシュ注文するさまざまな種類のオブジェクト(ファイル名、ユーザー名、変数名など)を完成させますが、ディレクトリに限定されません。
ただし、古代バージョンのbashを実行しない限り、次のものを使用できます。状況に合った完成、2000年にリリースされたバージョン2.04に追加された機能です。一部のディストリビューションではデフォルトで有効になっているため、インストールする必要があります。bash-completion
パッケージ化して~/.bashrc
。ほとんどのディストリビューションでは、というパッケージを提供し、bash-completion
ここにアクティベーションスクリプトを配置します/etc/bash_completion
。つまり、.bashrc
次の行を含める必要があります。
. /etc/bash_completion
cd
以降は を入力して を押すとディレクトリ名だけが完成しますTab。
非旧バージョンのbash(≥4.0)を使用している場合は、shopt -s autocd
yourと入力して.bashrc
コマンドを省略して代わりに書き込むcd
ことができます。タブ補完は行の最初の単語に表示されます。コマンド名とディレクトリを完成させます。名前(および)を現在のディレクトリに保存します。bar
cd bar
$PATH
$CDPATH
Bash 4.0では、関数のコマンドラインバージョンを直接作成することもできます(以前のバージョンも機能しましたが、問題が発生しました)。だから本当に欲しいなら、そうすることができます。Bashコマンドの完成をカスタマイズする方法は?比較的複雑な例があります。別の例を検索して見つけてくださいREADLINE_LINE
。complete