Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Возможности

read поддерживает следующие параметры:


Таблица 28-1: параметры чтения


Вариант Описание

Вариант Описание

-a массив Назначьте вход на массив, начиная с нулевого индекса. Мы

мы рассмотрим массивы в главе 35.


-d ограничитель Первый символ в строке ограничитель используется, чтобы

указывает конец ввода, а не символ новой строки.


-e Используйте Readline для обработки ввода. Это позволяет редактировать ввод так же, как и в командной строке.


-i string Используйте string в качестве ответа по умолчанию, если пользователь просто нажимает

Входить. Требуется -e опцию.


-n Num Читать Num символы ввода, а не целую строку.


-p подсказка Отобразить приглашение для ввода с помощью строки подсказка.



-r Необработанный режим. Не интерпретируйте символы обратной косой черты как escape-символы.


-s Тихий режим. Не выводите символы на дисплей по мере их ввода. Это полезно при вводе паролей и другой конфиденциальной информации.


-t секунды Тайм-аут. Завершить ввод после секунды. читать возвращает

ненулевой статус выхода, если время ввода истекло.


-u fd Использовать ввод из файлового дескриптора fd, а не стандартный ввод.



Используя различные варианты, мы можем делать интересные вещи с читать. Например, с

-p, мы можем предоставить строку подсказки:


#! / Bin / Баш


# read-single: считывать несколько значений в переменную по умолчанию read -p "Введите одно или несколько значений>"

echo "REPLY = '$ REPLY'"

#! / Bin / Баш


# read-single: считывать несколько значений в переменную по умолчанию read -p "Введите одно или несколько значений>"

echo "REPLY = '$ REPLY'"


Для -t и -s options, мы можем написать сценарий, который считывает «секретный» ввод и истекает время ожидания, если ввод не завершен в указанное время:



#! / Bin / Баш


# read-secret: введите секретную парольную фразу


если прочитано -t 10 -sp "Введите секретную парольную фразу>" secret_pass; затем echo -e "\ nSecret passphrase = '$ secret_pass'"

еще

echo -e "\ nInput timed out"> & 2 exit 1

fi

#! / Bin / Баш


# read-secret: введите секретную парольную фразу


если прочитано -t 10 -sp "Введите секретную парольную фразу>" secret_pass; затем echo -e "\ nSecret passphrase = '$ secret_pass'"

еще

echo -e "\ nInput timed out"> & 2 exit 1

fi


Сценарий запрашивает у пользователя секретную парольную фразу и ожидает ввода 10 секунд. Если запись не будет завершена в течение указанного времени, сценарий завершится с ошибкой. Поскольку

-s опция включена, символы парольной фразы не выводятся на дисплей по мере их ввода.


Можно предоставить пользователю ответ по умолчанию, используя -e и -i варианты вместе:



#! / Bin / Баш

# read-default: укажите значение по умолчанию, если пользователь нажимает клавишу Enter. read -e -p "Какое ваше имя пользователя?" -i $ USER

echo "Вы ответили: '$ REPLY'"

#! / Bin / Баш

# read-default: укажите значение по умолчанию, если пользователь нажимает клавишу Enter. read -e -p "Какое ваше имя пользователя?" -i $ USER

echo "Вы ответили: '$ REPLY'"


В этом сценарии мы предлагаем пользователю ввести свое имя пользователя и использовать переменную среды USER для предоставления значения по умолчанию. Когда скрипт запускается, он отображает строку по умолчанию, и если пользователь просто нажимает клавишу Enter, читать назначит строку по умолчанию для оТВЕТИТЬ Переменная.


[я @ linuxbox ~] $ чтение по умолчанию Какое у тебя имя пользователя? мне Вы ответили: "я"

[я @ linuxbox ~] $ чтение по умолчанию Какое у тебя имя пользователя? мне Вы ответили: "я"


Лучшие облачные вычисления для ОС в OnWorks: