Кавычки
В синтаксисе shell кавычки играют важную роль. Есть три типа кавычек: простые ('), двойные (") и обратные (`).
Простые кавычки используются для выделения текста, который оболочка должна понимать буквально. Иными словами, текст внутри простых кавычек не подлежит раскрытию и интерпретации. Пример:
echo 'Dollar is $good'
получим букально Dollar is $good несмотря на то, что знак доллара является метасимволом оболочки.
Двойные кавычки выделяют строку символов, которую оболочка будет считать одним словом. Пример:
set colors="green blue red"; echo $#colors
выдаст цифру 1, что означает, что переменная colors простая, а не массив. Все что находится внутри двойных кавычек подлежит интерпретации оболочкой.
Обратные кавычки позволяют представить строку, которая состоит из результата выполнения команды. Так что выражение в обратных кавычках рассматривается как команда, которую оболочка выполняет, а то, что эта команда выведет на стандартный вывод подставляется как строка на то место, где стоят эти обратные кавычки. Пример:
set mytty=`tty`
занесет в переменную mytty ту строку, которую выдает команда tty (а именно имя и номер текущего терминала).