Мне трудно создавать этот каталог в терминале. Я попытался
mkdir '"What's for dinner?"'
, но я думаю, что это не работает из-за апострофа в What's
. Поэтому я попытался избежать этого апострофа:
mkdir '"What\'s for dinner?"'
, но он все еще не работает. Любые идеи?
редактировать: я хочу сохранить двойные кавычки в имени каталога.
Если вы хотите создать папку с кавычками, вы должны выйти из нее, используя двойные кавычки "
и \
:
mkdir "\"\""
Будет создана папка " "
mkdir "\"\"'"
Будет создать папку "" '
mkdir "'"
Будет создана папка '
mkdir "\"What's for dinner?\""
Создаст то, что вы хотите
Внутри одинарных кавычек все символы взяты буквально. Однако это также означает, что вы не можете помещать одинарные кавычки внутри одинарных кавычек. Решение состоит в том, чтобы использовать строки в одинарных кавычках с экранированными одинарными кавычками между ними:
mkdir '"What'\''s for dinner?"'
В приведенном выше '"What'
- строка в одинарных кавычках. За ним следует \ '
- экранированная одинарная кавычка. И за этим следует строка в одинарных кавычках 's на ужин? "'
.
Вышеупомянутое хорошо работает, потому что правила просты.
Другой подход - $ ' ... '
Используя это:
mkdir $'"What\'s for dinner?"'
Форма $' ... '
поддерживает множество экранированных символов, включая \'
для одинарных кавычек.
Удалите одинарные кавычки из кода, например,
mkdir "What's for dinner?"
Это создаст каталог с именем Что на ужин?
Обновление:
mkdir "'What's for dinner?'"
Будет создан каталог с именем «Что на ужин?»
Обновление 1:
mkdir "\"What's for dinner?"\"
Будет создан каталог с именем «Что на ужин?»
Вы можете экранировать каждый символ символа с помощью \
следующим образом:
$ mkdir What\'s\ for\ dinner\?
Допустим, вы хотите назвать свой каталог
"\?$*’KwaMe’*$?\"
, вам нужно ввести
mkdir \"\\\?\$\*\’\K\w\a\M\e\’\*\$\?\\\"\