Одиночне котирування та нахил


10
~$ echo $'\'test'
'test

man bash каже:

Замикання символів в одиничних лапках зберігає буквальне значення кожного символу в лапках. Одиночна цитата може не виникати між окремими цитатами, навіть коли передує зворотна косою рисою.

Чому тоді це працює в echo-команді?

Відповіді:


16

Одиночні котирування '...'відрізняються від одиничних котирувань у доларах $'...'. Перший не підтримує косої риски, а другий використовує специфікацію ANSI C.


14

chorobaВідповідь цілком правильна, ось деталі з man bash:

Слова форми $ 'string "обробляються спеціально. Слово розширюється на
рядок із символами, що ухиляються від косої риски, замінені, як визначено ANSI C
стандартний. Послідовності втечі зворотного схилу, якщо вони є, декодуються наступним чином:
              \ оповіщення (дзвінок)
              \ b зворотній простір
              \ е
              \ E персонаж втечі
              \ f форму подачі
              \ n новий рядок
              повернення вагона
              \ t горизонтальна вкладка
              \ v вертикальна вкладка
              \\ зворотна косою рисою
              \ 'єдина цитата
              \ "подвійна цитата
              \? знак питання
              \ nnn восьми бітний символ, значення якого - вісімкове значення
                     nnn (одна-три цифри)
              \ xHH восьмирозрядний символ, значення якого - шістнадцятковий
                     значення HH (одна або дві шістнадцяткові цифри)
              \ uHHHH символ Unicode (ISO / IEC 10646), значенням якого є
                     шістнадцяткове значення HHHH (одна-чотири шістнадцяткові цифри)
              \ UHHHHHHHH
                     символ Unicode (ISO / IEC 10646), значенням якого є
                     шістнадцяткове значення HHHHHHHH (одна-вісім шістнадцяткових цифр)
              \ cx символ керування x

Ось чому!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.