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