回答:
Tab最初の数文字を押してからキーを使用できます(これにより、フォルダの残りの部分が「入力」されます。たとえば、入力cd ~/L
Tabしてcd ~/Library/
から入力するAp
Tabと、残りが入力されます)。
単語間にスペースがあり、上記の方法を使用したくない場合は、スペースの\
前に(バックスラッシュ)を置きますcd ~/Library/Application\ Support
。
shopt -s nocaseglob
およびbind 'set completion-ignore-case on'
を使用して、bashの大文字小文字の区別を小さくすることができます。
ここでの中心的な問題は、シェル(bash)がクォートを行う方法と、それがチルダの展開と「単語」(実行中のプログラムの引数)への分割にどのように影響するかです。
bashは、引用符が付いていない場合にのみ、先頭のチルダを特別に扱います。また、次のスラッシュも引用符で囲まないでください。
同時に、bashは、引用符で囲まれていない空白に基づいてコマンドラインを「単語」に解析します。cd
通常、このコマンドには1つの引数(宛先ディレクトリ)のみが必要です。以下のようなコマンドラインcd foo bar
を実行するための手段cd
の二つの引数で:foo
とbar
。単一のfoo bar
引数のみを送信したい場合は、スペースを引用する必要があります:(
例)cd foo\ bar
(以下の引用例を参照)。
特定の状況では、ディレクトリ名のスペースを引用するときは、チルダと次のスラッシュを引用符で囲まないでおく必要があります。あなたのcd "~/Library/Application Support/"
ごながら試験は、(チルダとそのスラッシュ)あまりにも多くを引用して終わるcd ~/Library/Application Support/
裁判が少なすぎる引用(それがディレクトリ名にスペースを引用省略)。
最も一般的な解決策は、単一文字のエスケープを使用してスペースのみを引用することです。
cd ~/Library/Application\ Support
スペースだけ、またはスペースとその引数の他のビット(~/
!ではない)のいずれかを単一引用符または二重引用符で囲むこともできます。
cd ~/Library/Application' 'Support
cd ~/Library/Application" "Support
cd ~/Library/App'lication 'Support
cd ~/Library/Application" Supp"ort
cd ~/'Library/Application 'Support
cd ~/"Library/Application "Support
これらの種類の引用符の意味は異なりますが、これらの例では同じです。単一引用符はリテラル文字列を保護しますが、二重引用符は引用された領域でさまざまな展開と置換を許可します。
多くの場合、シェルに作業を任せることができます。
グロビング(ワイルドカード):
cd ~/L*/Ap*
shopt -s nocaseglob
グロビングの大文字と小文字を区別しないようにするために使用できます。
cd ~/l*/ap*
完了:
Tab入力後にcd ~/L
を押すと、おそらくに展開されcd ~/Library/
ます。入力してから(今はがあります)をもう一度
押すと、おそらくそれが展開されます(シェルがエスケープバックスラッシュを自動的に挿入します)。TabAp
cd ~/Library/Ap
cd ~/Library/Application\ Support/
を使用bind 'set completion-ignore-case on'
して、完了の大文字と小文字を区別しないようにすることができます。
cd ~/l
Tab→ cd ~/Library/
; ap
Tab→cd ~/Library/Application\ Support/
ファイルまたはフォルダー名に1)file name.extensionが含まれている場合、コマンドはcd〜/ file \ name.extension /(または)cd〜/ "file name.extension" /である必要があります。