![ディレクトリを変更するための bash ワイルドカードはありますか?](https://rvso.com/image/1317173/%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%20bash%20%E3%83%AF%E3%82%A4%E3%83%AB%E3%83%89%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
Bash コマンドラインを使用する場合、たとえば、次の方法でディレクトリに変更できます...
cd /volumes
しかし、私は入力したいのですが...
cd /vol*
しかし、それは機能しません。ワイルドカードを使用してディレクトリを移動する方法はありますか?
答え1
Mac OSはデフォルトで大文字と小文字を区別しないファイルシステムを使用します。cd /volumes
は と同等ですcd /Volumes
が、bashはvol*
:をグロブできません。cd /Vol*
答え2
@William Pursell が言ったように、これはフォルダーの名前が /volumes であり、/volumes ではないためです。OS X ファイルシステムは大文字と小文字を区別しないため、違いは無視されますが、bash は大文字と小文字を区別するため、違いが無視されます。
ただし、bash のデフォルトの動作は変更できます。ファイル パターンの大文字と小文字を区別せずに拡張するには、コマンドをshopt -s nocaseglob
~/.bashrc ファイルと ~/.bash_profile ファイルに追加します (両方に必要なので、オプションはログイン シェルとサブシェルの両方で設定されます)。大文字と小文字が一致しない場合でもファイル名の補完が機能するようにするには、set completion-ignore-case on
~/.inputrc ファイルに追加するか、~/.bashrc ファイルと ~/.bash_profile ファイルに追加しますbind "set completion-ignore-case on"
。
答え3
タイピング:
cd /vol*
作品大丈夫/vol*
複数のディレクトリに展開する場合でも、bash
最初のディレクトリが使用され、残りは無視されます。具体的に何が機能していないのでしょうか?