Операционная система UNIX. Руководство пользователя

       

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


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

read variable<CR>

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

Type in ...

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

Следующий пример покажет вам, как написать простую shell программу num.please, содержащую телефонные номера. Эта программа использует следующие команды:
echo - выдает подсказку для ввода фамилий клиентов;
read - присваивает вводимое значение переменной;
grep - просматривает файл list в поисках этой переменной.

Программа будет выглядеть следующим образом:

Пример.

$ cat num.please<CR>

echo Type in the list name: read name grep $name home/list $

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

В следующем примере приводится текст программы mknum, которая создает список. В программе mknum используется следующая последовательность команд:
echo - выдает подсказку для ввода имени клиента;
read - присваивает имя клиента переменной name;
echo - выдает подсказку для ввода номера телефона;
read - присваивает номер телефона переменной num;
echo - добавляет значение переменных name и num в файл list;

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

С помощью команды cat отобразите содержание программы mknum:

Пример.

$ cat mknum<CR>

echo Type in name read name echo Type in number read num echo $name $num >> list $ chmod u+x mknum<CR>

$



Содержание раздела