我嘗試了 cd“〜/ Library / Application Support /”-bash:cd:〜/ Library / Application Support /:沒有這樣的文件或目錄
也 cd〜/ Library / Application Support / -bash:cd:〜/ Library / Application Support /:沒有這樣的文件或目錄
我嘗試了 cd“〜/ Library / Application Support /”-bash:cd:〜/ Library / Application Support /:沒有這樣的文件或目錄
也 cd〜/ Library / Application Support / -bash:cd:〜/ Library / Application Support /:沒有這樣的文件或目錄
您可以在按下前幾個字符後使用 Tab kbd>鍵(然後它將為您“填充”文件夾的其餘部分,例如,鍵入 cd〜/ L
Tab kbd>填寫 cd〜/ Library /
,然後鍵入 Ap
Tab kbd>,其餘內容將為您填充。
如果單詞之間有空格,並且您不想使用上述方法,請在空格之前放置 \
(反斜杠),例如 cd〜/庫/應用程序\支持
。
這裡的核心問題是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''支持cd〜/ Library / Application'“支持cd〜/ Library / App'lication'支持cd〜/ Library /應用程序“ Supp” ort cd〜/'Library / Application'Support cd〜/“ Library / Application” Support
這些引號具有不同的含義,但是在這些示例中它們是相同的。單引號保護文字字符串,而雙引號允許在引號區域進行各種擴展和替換。
通常,您可以讓Shell為您完成工作。
通配符(通配符):
cd〜/ L * / Ap *
您可以使用 shopt -s nocaseglob
使不區分大小寫:
cd〜/ l * / ap *
完成
在輸入 cd〜/ L
後按 Tab kbd>可能會將其擴展為 cd〜/ Library /
。
輸入 Ap
(現在具有 cd〜/ Library / Ap
)後再次按 Tab kbd>可能會將其擴展為 cd〜/ Library / Application \ Support /
(shell自動插入轉義的反斜杠)。
您可以使用 bind'setcomplete-ignore-case on'
使不區分大小寫的輸入不正確:
cd〜/ l
Tab kbd>→ cd〜/ Library /
; ap
Tab kbd>→ cd〜/ Library / Application \ Support /
雙引號引用路徑時,將停止波浪號擴展。因此,有幾種方法可以做到這一點:
cd〜/“ My Code” cd〜/'My Code'
波浪號不加引號
cd“ $ HOME / My Code”
您可以在雙引號字符串內擴展環境變量。這基本上就是波浪號擴展的作用
cd〜/ My \ Code
您還可以使用反斜杠轉義特殊字符(例如空格)
您也可以將文件夾也拖到“終端”窗口中,拖動時會自動粘貼完整的文件/文件夾路徑。
您需要轉義“ 應用程序支持
”
嘗試使用 $ cd〜/ Library / Application \ Support /
您可以嘗試通過以下方式對間隔的文件夾/文件進行嘗試: 如果文件或文件夾名稱包含 1)文件名。擴展名 該命令應該是 cd〜/ file \ name.extension /(或)cd〜/“文件名.extension” /