2013-04-01 59 views
2

在Mac OS X(bash的4.2),我嘗試cd到一個文件夾的路徑中的撇號:慶典:撇號路

cd "~/Documents/study/new/Beej's Guide to Unix IPC_code/examples" 

然後我

-bash: cd: ~/Documents/study/new/Beej's Guide to Unix IPC_code/examples: No such file or directory 

我也試圖逃避這樣的撇號:

cd "~/Documents/study/new/Beej\'s Guide to Unix IPC_code/examples" 

與結果:

-bash: cd: ~/Documents/study/new/Beej\'s Guide to Unix IPC_code/examples: No such file or directory 

唯一的工作對我來說是很難逃脫的空格和撇號沒有雙引號是這樣的:

cd ~/Documents/study/new/Beej\'s\ Guide\ to\ Unix\ IPC_code/examples 

在這種情況下,有沒有方法可以讓我避免硬逃逸可言?

+1

奇怪。我可以用bash 3.2.48來做到這一點(OS X 10.8.3上的默認設置)。在自動完成期間,即使我使用了雙引號,撇號也很難逃脫。你確定你的'cd'命令看起來正是這樣嗎?另外:你確定這是一個撇號,而不是反向或類似的東西? –

+2

您正在引用波浪號字符。這不起作用。 –

回答

5

波浪號(~)將不會引號內被擴展,所以你需要把它的報價之外。任何這些將工作:

cd ~/"Documents/study/new/Beej's Guide to Unix IPC_code/examples" 
cd ~/Documents/study/new/"Beej's Guide to Unix IPC_code"/examples 
cd ~/Documents/study/new/Beej"'s Guide to Unix "IPC_code/examples 
0

你有哪個版本的bash?就像@MaxLeske說的那樣,它可以在3.2.48版本上使用自動完成功能。

刪除雙引號內的波浪號(〜)字符。相反,給一個完整的路徑。

cd "/Users/<uname>/Documents/study/new/Beej's Guide to Unix IPC_code/examples"