Использование команды 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>
$