Перечень спецсимволов
Как уже говорилось, все командные процессоры воспринимают некоторые символы как служебные, придавая им специальное значение при разборе командной строки. Выше рассматривались спецсимволы, связанные с указанием конкретных конструкций. Как было показано, многие служебные символы интерпретируются разными командными процессорами одинаково, хотя бывают и исключения. Основные спецсимволы приведены в табл. 10.6.
sh | $ * ? \ ` ' " [ ] < > & |
csh | $ * ? \ ` ' " ! ^ { } [ ] ! % < > & |
ksh | $ * ? \ ` ' " ! ^ { } [ ] < > & |
bash | $ * ? \ ` ' " ! ^ { } [ ] % < > & |
Для ввода специальных символов без учета их специального смысла (например, для вычисления произведения двух чисел выполняется команда expr 2 \* 2, надо передать программе expr просто звездочку, не расшифровывая ее специальное значение для командного процессора) в командной строке предваряйте их символом экранирования \ или заключайте в кавычки или апострофы. Кавычки отличаются от апострофов тем, что они экранируют от интерпретации все специальные символы, за исключением `, $ и \, а апострофы экранируют абсолютно все специальные символы.