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

在这种情况下,有没有办法完全避免硬转义?

4

2 回答 2

6

波浪号 ( ~) 不会在引号内展开,因此您需要将其留在引号外。这些中的任何一个都可以:

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
于 2013-04-01T15:18:58.237 回答
0

你有哪个版本的 bash?就像@MaxLeske 所说,它适用于版本 3.2.48 的自动完成功能。

删除双引号内的波浪号 (~) 字符。而是给出一个完整的路径。

cd "/Users/<uname>/Documents/study/new/Beej's Guide to Unix IPC_code/examples"
于 2013-04-01T13:02:16.637 回答