2013-04-01 2 views
2

В Mac OS X (Баш 4,2), я стараюсь компакт-диск в папку с апострофом в пути:Баш: Апостроф в пути

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"