Как сделать имя каталога с кавычками, например, «Что на ужин?»

Мне трудно создавать этот каталог в терминале. Я попытался

mkdir '"What's for dinner?"'

, но я думаю, что это не работает из-за апострофа в What's. Поэтому я попытался избежать этого апострофа:

mkdir '"What\'s for dinner?"'

, но он все еще не работает. Любые идеи?

редактировать: я хочу сохранить двойные кавычки в имени каталога.

3
задан 26 March 2014 в 19:34

5 ответов

Если вы хотите создать папку с кавычками, вы должны выйти из нее, используя двойные кавычки " и \ :

mkdir "\"\""

Будет создана папка " "

mkdir "\"\"'"

Будет создать папку "" '

mkdir "'"

Будет создана папка '

mkdir "\"What's for dinner?\""

Создаст то, что вы хотите

7
ответ дан 26 March 2014 в 19:34

Внутри одинарных кавычек все символы взяты буквально. Однако это также означает, что вы не можете помещать одинарные кавычки внутри одинарных кавычек. Решение состоит в том, чтобы использовать строки в одинарных кавычках с экранированными одинарными кавычками между ними:

mkdir '"What'\''s for dinner?"'

В приведенном выше '"What' - строка в одинарных кавычках. За ним следует \ ' - экранированная одинарная кавычка. И за этим следует строка в одинарных кавычках 's на ужин? "' .

Вышеупомянутое хорошо работает, потому что правила просты.

Другой подход - $ ' ... ' Используя это:

mkdir $'"What\'s for dinner?"'

Форма $' ... ' поддерживает множество экранированных символов, включая \' для одинарных кавычек.

4
ответ дан 26 March 2014 в 19:34

Удалите одинарные кавычки из кода, например,

mkdir "What's for dinner?"

Это создаст каталог с именем Что на ужин?

Обновление:

mkdir "'What's for dinner?'"

Будет создан каталог с именем «Что на ужин?»

Обновление 1:

mkdir "\"What's for dinner?"\"

Будет создан каталог с именем «Что на ужин?»

1
ответ дан 26 March 2014 в 19:34

Вы можете экранировать каждый символ символа с помощью \ следующим образом:

$ mkdir What\'s\ for\ dinner\?
0
ответ дан 26 March 2014 в 19:34

Допустим, вы хотите назвать свой каталог

"\?$*’KwaMe’*$?\"

, вам нужно ввести

mkdir \"\\\?\$\*\’\K\w\a\M\e\’\*\$\?\\\"\
1
ответ дан 1 December 2019 в 13:01

Другие вопросы по тегам:

Похожие вопросы: