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

Я попытался создать текстовый файл в сценарии 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 

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

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

  • Линейная командная строка Linux, которая выйдет из строя, если будет произведен какой-либо стандарт
  • Как сгенерировать много (пустых) файлов изображений?
  • Получить количество пробелов в строке?
  • Измените файл SVG на основе информации в файле CSV
  • что означает флаг -z здесь
  • Общение с bash с помощью grunt shell
  • Как запустить скрипт с другого пути и узнать путь к скрипту?
  • Как использовать команду convert с bash для изменения размера всех изображений в заданном каталоге?
  • 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) 
    Linux и Unix - лучшая ОС в мире.