Основы операционной системы UNIX

Запрос информации у пользователя


Командный интерпретатор позволяет, при необходимости, запрашивать у пользователя информацию, которая помещается в указанную переменную. Для этого используется команда read:

$ read greeting Hello, world! $ echo $greeting Hello, world! $

На практике имеет смысл перед запросом выдать приглашение с помощью команды echo. Например, вот так:

$ cat pick # pick: select arguments

PATH=/bin:/usr/bin

for i # for each argument, try $*, "$*" and "$@" do echo -n "$i? " > /dev/tty read responce case $responce in y*) echo $i;; q*) break esac done </dev/tty $

Представленная выше программа pick выдает каждое указанное в качестве аргумента слово в отельной строке со знаком вопроса и требует от пользователя подтвердить необходимость его выдачи в стандартный выходной поток. Поскольку эта программа может использоваться в других сценариях, входной и выходной потоки которых перенаправлены, она взаимодействует непосредственно с текущим терминалом (через устройство /dev/tty).



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