Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб ОС_5-8.doc
Скачиваний:
8
Добавлен:
04.11.2018
Размер:
559.62 Кб
Скачать
    1. Удаление переменных

Переменные сохраняются недолго. По завершении shell они теряются, поэтому уничтожать их вручную, как правило, не требуется. Если же возникла такая необходимость, используйте команду unset. Синтаксис: unset [имя _ переменной…]

    1. Присвоение значений переменным

Существует еще несколько способов присвоения значения переменной:

  • использование команды read для присвоения ввода переменной;

  • перенаправление вывода команды в переменную;

  • присвоение позиционного параметра переменной.

    1. Использование команды read

Общий формат команды read:

read variable<ENTER>

Значение, присвоенное командой read переменной variable, будет заменять $variable где бы она не встречалась в программе пользователя.

Команда read будет ждать до тех пор, пока вы не введете строку символов и нажмете клавишу <ENTER>, тем самым присваивая строку переменной.

Следующий пример покажет вам, как написать простую shell программу num.please, содержащую имена. Программа будет выглядеть следующим образом:

cat num.please<ENTER>

echo Введите имя:

read name

grep $name home/list

Создайте файл list, содержащий несколько фамилий и номеров телефонов. И теперь запустите файл num.please. В следующем примере приводится текст программы mknum, которая создает список номеров телефонов и абонентов.

Если вы хотите, чтобы вывод команды echo добавлялся в конец списка, то вы должны использовать >>. Если вы будете использовать >, то список будет состоять из последнего номера телефона, который вы добавили.

С помощью команды cat:

cat mknum<ENTER>

отобразите содержание программы mknum:

echo Введите имя

read name

echo Введите номер

read num

echo $name $num >> list

Сделайте mknum выполняемой программой:

chmod u+x mknum<ENTER>

    1. Арифметические операции: команда let

Команда let - это команда интерпретатора BASH shell, обеспечивающая выполнение операций над арифметическими величинами. С помощью этой команды можно сравнивать числовые значения или выполнять над ними арифметические операции, такие как сложение или умножение. Команда let задается либо с помощью ключевого слова let, либо посредством двойных круглых скобок. Базовый формат команды включает ключевое слово let, за которым следуют два числовых значения, разделенных арифметическим оператором либо оператором сравнения:

$ let значение1 оператор значение2

Следующий пример наглядно демонстрирует, как изменяется работа интерпретатора при использовании ключевого слова let.

$ T=2+3

$ echo $T

2+3

$ let T=2+3

$ echo $T

5

В shell-сценариях может использоваться любой из перечисленных в таблице 1 операторов.

Ключевое слово let можно использовать и без оператора присваивания.

$ let 2*7

14

Если в арифметическом выражении между операндами необходимо поместить пробелы, выражение следует заключить в кавычки. Аргументом команды let может быть только одно арифметическое выражение, например: $ let "2*7"

Таблица 1

Арифметические операторы

Функции

*

Умножение

/

Деление

+

Сложение

-

Вычитание

Логические операторы

Функции

>

Больше чем

<

Меньше чем

>=

Больше либо равно

<=

Меньше либо равно

=

Равенство в выражениях

!=

Не равно

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]