Одинові лапки додають значення, яке слід сприймати буквально: всі типи розширення придушуються. Зазвичай використовується , якщо значення включає або може включати прогалини (пробіл, табуляція, новий рядок), або спеціальні символи ( $
, \
, `
) , що користувач не хоче бути розширений / обробляють спеціально оболонкою.
Подвійні лапки додають значення, яке матиме змінні, та заміну символів. Необхідно, коли вихід може містити пробіл, і повинен бути призначений як одне значення.
Назад цитати додають команду, результати якої потрібно шукати як значення. Більш нові снаряди дозволяють використовувати $(...)
замість `...`
. Я віддаю перевагу більш новий метод.
Наступний код може допомогти зрозуміти, що відбувається.
CMD = 'ls.'
echo sq: $ CMD
встановити $ CMD
відлуння сирої 1: 1 долар
ехо-сире: $ *
встановити "$ CMD"
echo dq: $ 1
echo bq: `$ CMD`
відлуння нове: $ ($ CMD)
\
завжди трактується буквально, коли додається до одиничних лапок, навіть якщо це передує a'
. Після відкриття'
наступне'
завжди трактується як кінцева цитата. Щось на кшталт цитування'
в одноцитуваному рядку можна досягти, припинивши цитування, закрившись'
окремо і почавши цитувати знову. Тобто, хоча\'
не працює між відкриттям і закриттям'
символів,'\''
це робить. (Див Жиля «сек поправки до одного з моїх постів , коли я зробив ту ж помилку для деталей.)