Answers:
您可以Tab在按下前几个字符后使用键(这将为您“填充”文件夹的其余部分,例如,键入cd ~/L
Tabfills cd ~/Library/
然后键入Ap
Tab,它将为您填充其余部分。
如果单词之间有空格,并且您不想使用上面的方法,请\
在空格之前放置一个(反斜杠),例如cd ~/Library/Application\ Support
。
shopt -s nocaseglob
和bind 'set completion-ignore-case on'
使bash对大小写不敏感。
这里的核心问题是shell(bash)是如何引用的,以及它如何影响波浪号的扩展以及拆分为“单词”(正在运行的程序的参数)。
bash仅在不引用引号的情况下才对其进行特殊处理。此外,以下斜杠也不能引用。
同时,bash基于未引用的空格将命令行解析为“单词”。该cd
命令通常只需要一个参数(目标目录)。命令行之类的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
这些引号具有不同的含义,但是在这些示例中它们是相同的。单引号保护文字字符串,而双引号允许在引用区域中进行各种扩展和替换。
通常,您可以让Shell为您完成工作。
通配符(通配符):
cd ~/L*/Ap*
您可以使用shopt -s nocaseglob
使其不区分大小写:
cd ~/l*/ap*
完成时间:
Tab输入后按cd ~/L
可能会将其扩展为cd ~/Library/
。输入(您现在有了)后再
按Tab一次,可能会将其扩展为(shell自动插入转义的反斜杠)。Ap
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” /