Программирование на Shell (Unix)



СРЕДА SHELL (ПЕРЕМЕННЫЕ И ПАРАМЕТРЫ)


 

4. СРЕДА SHELL (ПЕРЕМЕННЫЕ И ПАРАМЕТРЫ)

  • 4.1. SHELL-ПЕРЕМЕННЫЕ
  • 4.2. ЭКРАНИРОВАНИЕ
  • 4.3. МАНИПУЛЯЦИИ С SHELL-ПЕРЕМЕННЫМИ
  • 4.4. ЭКСПОРТ ПЕРЕМЕННЫХ

  • 4.5. ПАРАМЕТРЫ
  • 4.6. ПОДСТАНОВКИ SHELL-ИНТЕРПРЕТАТОРА
  • 4.7. ПРОГРАММНАЯ СРЕДА

На языке shell можно писать командные файлы и с помощью команды "chmod" делать их выполняемыми. После этого они ни чем не отличаются от прочих команд ОС UNIX.

4.1. shell-переменные

Имя shell-переменной - это начинающаяся с буквы последовательность букв, цифр и подчеркиваний.

Значение shell-переменной - строка символов.

То, что в shell всего два типа данных: строка символов и текстовый файл, с одной стороны, позволяет легко вовлекать в программирование конечных пользователей, никогда ранее программированием не занимавшихся, а с другой стороны, вызывает некий внутренний протест у многих программистов, привыкших к существенно большему разнообразию и большей гибкости языковых средств.

Однако интересно наблюдать то, как высококлассные программисты, освоившись с "правилами игры" shell, пишут на нем программы во много раз быстрее, чем на Си, но, что особенно интересно, в ряде случаев эти программы работают даже быстрее, чем реализованные на Си. (Но это уже случаи "высшего пилотажа").

Имя переменной аналогично традиционному представлению об идентификаторе, т.е. именем может быть последовательность букв, цифр и подчеркиваний, начинающаяся с буквы или подчеркивания.

Для присваивания значений переменным может использоваться оператор присваивания "=".

var_1=13 - "13" - это не число, а строка из двух цифр. var_2="ОС UNIX" - здесь двойные кавычки (" ") необходимы, так как в строке есть пробел.

ВАЖНО: Обратим внимание на то, что, как переменная, так и ее значение должны быть записаны без пробелов относительно символа "=". Кстати, как видно из примеров, первым словом в командной строке может стоять не только имя команды, но и присваивание значения переменной. Об этом как раз и говорит наличие в беспробельной строке символов наличие (незаэкранированного) символа "=".
<


Содержание  Назад  Вперед