<Попередній | зміст | Наступна>
Символи, що втікають
Іноді ми хочемо процитувати лише один символ. Для цього ми можемо перед символом поставити зворотну косу риску, яка в цьому контексті називається персонаж втечі. Часто це робиться в подвійних лапках, щоб вибірково запобігти розширенню:
[me@linuxbox ~]$ echo "Баланс для користувача $USER становить: \$5.00"
Залишок для користувача: 5.00 доларів США
[me@linuxbox ~]$ echo "Баланс для користувача $USER становить: \$5.00"
Залишок для користувача: 5.00 доларів США
Також зазвичай використовують екранування для усунення особливого значення символу в імені файлу. Наприклад, можна використовувати символи в іменах файлів, які зазвичай мають особливе значення для оболонки. До них належать «$», «!», «&», « » та інші. Щоб включити спеціальний символ до імені файлу, ви можете зробити це:
[me@linuxbox ~]$ mv поганий\&ім'я файлу хороше ім'я_файлу
[me@linuxbox ~]$ mv поганий\&ім'я файлу хороше ім'я_файлу
Щоб дозволити відображення символу зворотної косої риски, екрануйте його, ввівши «\\». Зауважте, що в одинарних лапках зворотна коса риска втрачає своє особливе значення і розглядається як звичайний символ.
Escape-послідовності зворотної косої риски
На додаток до своєї ролі escape-символу, зворотний слеш також використовується як частина нотації для представлення певних спеціальних символів, які називаються контрольні коди. Перші 32 символи в схемі кодування ASCII використовуються для передачі команд на пристрої типу телетипу. Деякі з цих кодів знайомі (табуляція, пробіл, переведення рядка та повернення каретки), а інші ні (нуль, кінець передачі та підтвердження).
Послідовність втечі | Сенс |
\a | Дзвінок ("Попередження" - викликає звуковий сигнал комп'ютера) |
\b | Повернення на одну позицію |
\n | Новий рядок. У Unix-подібних системах це створює переведення рядка. |
\r | Повернення вагона |
\t | таб |
У таблиці вище наведено деякі з поширених escape-послідовностей зворотної косої риски. Ідея цього представлення з використанням зворотної косої риски виникла в мові програмування C і була прийнята багатьма іншими, включаючи оболонку.
Додавання параметра «-e» до нудьгувати дозволить інтерпретувати вихідні послідовності. Ви також можете помістити їх всередині $''. Тут, використовуючи сон Команда, проста програма, яка просто чекає певну кількість секунд, а потім виходить, ми можемо створити примітивний таймер зворотного відліку:
спати 10; echo -e "Час минув\a"
Ми також могли б зробити це:
спати 10; echo "Час минув" $'\a'