ディレクトリを表示し、ファイルを無視するように「cd」のコマンド補完を変更できますか?


12

bashのディレクトリにいるときにを押すと、ディレクトリ内のcd Space Tabすべてが表示されます。(Show all 1000 possibilities?)通常のファイルが多く、ディレクトリが比較的少ないディレクトリにいるとき、これは本当に面倒です。

だから、cdディレクトリのみを含めるようにオートコンプリートの選択をすることは可能ですか?

私はディレクトリ内のディレクトリリストを取得できることを知っています

ls -d */

しかし、そこから先に進む方法がわかりません。

CentOS 6.6 Finalを使用しています。

回答:


25

追加するだけ

complete -d cd

あなたの中に~/.bashrc(または他のbashの設定ファイル)。


できます!ありがとう。ファイルbashをリロードするために入力する必要がありました~/.bashrc
-chiliNUT

それは面白い。これは私のDebianインストールのデフォルトの動作ですが、タイピングcompleteが表示されない、-d cdまたはそれに類するものはありません。どうやらここで他の方法で行われているようです。
トムザイチ

@TomZych人気のあるbash補完スクリプトがあります。ディストリビューションがデフォルトでインストールした可能性が非常に高いです。
-jimmij

2
~/.bashrcタイプを読み直します. ~/.bashrc。これにより、サブシェルが起動しない場合があります。
ctrl-alt-delor

1
@richard Oneは、現在の対話型シェルでこのコマンドを再入力/貼り付けすることもできます。
-jimmij

2

これ、多くのディストリビューションの典型的なインストールで自動的に行われるはずです。
そうでない場合は、おそらくbash-completionパッケージが欠落しています。

  • Ubuntu: sudo apt-get install bash-completion
  • アーチ: sudo pacman -S bash-completion
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.