В чем разница между «и»?

Я попытался создать текстовый файл в сценарии bash.

Команда echo охватывает несколько строк и имеет несколько двойных кавычек «».

 #!/bin/bash echo "blabla bla bla bla "blabla" bla bla " bla bla bla" and so on and so on bla bla blu bla "bla bla bla " bla bla" > /root/bin/bla 

Есть много двойных кавычек "" в команде echo что нежелательно.

И я сделал

 #!/bin/bash echo 'blabla bla bla bla "blabla" bla bla " bla bla bla" and so on and so on bla bla blu bla "bla bla bla " bla bla' > /root/bin/bla 

Я задавался вопросом, есть ли разница между двойной цитатой «и одинарной кавычкой»,

Какой из них имеет более высокий приоритет? Это просто факт, что они визуально различны?

One Solution collect form web for “В чем разница между «и»?”

Из руководства bash :

3.1.2.2 Отдельные кавычки

Закрывающие символы в одинарных кавычках ('' ') сохраняют буквальное значение каждого символа в кавычках. Одинарная кавычка может отсутствовать между одинарными кавычками, даже если ей предшествует обратная косая черта.

3.1.2.3 Двойные котировки

Закрывающие символы в двойных кавычках ('' ') сохраняют буквальное значение всех символов в кавычках, за исключением' $ ',' `',' \ ', и, когда расширение истории включено,'! '. символы '$' и '`' сохраняют свое особое значение в двойных кавычках (см. раздел« Расширения оболочки »). Обратная косая черта сохраняет свое особое значение только тогда, когда следует один из следующих символов:« $ »,« »,« », \ 'или новой строки. В двойных кавычках удаляются обратные косые следы, сопровождаемые одним из этих символов. Обратные косые черты, предшествующие символам без особого значения, остаются неизмененными. Двойная кавычка может быть заключена в двойные кавычки, предшествуя ей обратным слэшем. Если включено, расширение истории будет выполняться, если только '!' появляется в двойных кавычках, с помощью обратной косой черты. Обратная косая черта, предшествующая символу '!' не удаляется. Специальные параметры «*» и «@» имеют особое значение в двойных кавычках (см. Раздел «Расширение параметров оболочки»).

Вот некоторые практические демонстрации вышесказанного:

  • Двойные кавычки позволяют оценивать разложения параметров, но одинарные кавычки:
 $ var=foo $ echo "$var" foo $ echo '$var' $var 
  • Двойные кавычки позволяют оценивать обратные слэши, но одинарные кавычки:
 $ echo "\\" \ $ echo '\\' \\ 
  • Двойные кавычки позволяют оценивать подстановки команд ( $( , ` ), но одинарные кавычки:
 $ echo "$(echo bar)" bar $ echo '$(echo bar)' $(echo bar) 
  • Добавить строку после определенной строки в одной строке в текстовом файле
  • Для отдельных циклов $ i
  • Сценарий оболочки Loop, если входной файл имеет больше входных данных
  • Команда для снятия скриншота с нового файла
  • Выполнение почтовой команды внутри функции вызывает «вилку»,
  • Труба / перенаправление группы команд
  • Понять «IFS = read -r line»?
  • Выполнение задания Cron, но не создание туннеля
  • Печать строк с похожим текстом вместе
  • Как запустить сценарий оболочки с двойным щелчком в CentOS 7
  • Чтобы передать параметр с помощью sed
  • Linux и Unix - лучшая ОС в мире.