Как сделать имя каталога с кавычками в нем, например & ldquo; Что для обеда? & Rdquo;

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

mkdir '"What's for dinner?"'

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

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

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

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

1
задан 26 March 2014 в 21:34

3 ответа

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

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

В приведенном выше '"What' - однокасканная строка. За ним следует \', который представляет собой экранированную одиночную кавычку. И после этого следует однокасканная строка 's for dinner?"'.

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

Другим подходом является конструкция $'...'. Используя это:

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

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

3
ответ дан 24 May 2018 в 10:24

Удалите одинарные кавычки из вашего кода, как это,

mkdir "What's for dinner?"

Это создаст каталог с именем What's for dinner?

Update:

mkdir "'What's for dinner?'"
[d4 ] Это создаст каталог с именем 'What's for dinner?'

Update:

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

Это создаст каталог с именем "What's for dinner?"

1
ответ дан 24 May 2018 в 10:24
  • 1
    Но я хочу, чтобы кавычки сохранялись в имени каталога. – JamesGold 26 March 2014 в 09:15
  • 2
    Вам нужны одиночные и двойные кавычки? – Avinash Raj 26 March 2014 в 09:17
  • 3
    Просто двойные кавычки. Если я наберу ls . -d, я хочу видеть "What's for dinner?" – JamesGold 26 March 2014 в 09:18
  • 4
    Теперь попробуйте мое обновление1. – Avinash Raj 26 March 2014 в 09:21

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

$ mkdir Что \ \ \ для \ ужина \?
0
ответ дан 24 May 2018 в 10:24

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

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