<Попередній | зміст | Наступна>
Опції
read підтримує такі параметри:
Таблиця 28-1: прочитайте Параметри
Опція Опис
Опція Опис
-a масив Призначте вхід до масив, починаючи з нуля. ми
розглянемо масиви в розділі 35.
![]()
-d роздільник Перший символ у рядку роздільник використовується
вказувати кінець введення, а не символ нового рядка.
![]()
-e Використовуйте Readline для обробки введення. Це дозволяє редагувати введені дані так само, як і командний рядок.
![]()
-i рядок Скористайтеся кнопкою рядок як відповідь за замовчуванням, якщо користувач просто натискає
Введіть. Вимагає -e варіант.
![]()
-n Num Читати Num символи введення, а не цілий рядок.
![]()
-p підказка Відобразити запит на введення за допомогою рядка підказка.
![]()
![]()
-r Режим Raw. Не інтерпретуйте символи зворотної косої риски як екранування.
![]()
-s Беззвучний режим. Не відтворюйте символи на дисплеї під час їх введення. Це корисно під час введення паролів та іншої конфіденційної інформації.
![]()
-t seconds Час вийшов. Після завершення введення seconds. зчитування повертає a
ненульовий статус виходу, якщо час очікування введення.
![]()
-u fd Використовуйте введення з дескриптора файлу fd, а не стандартне введення.
![]()
Використовуючи різні варіанти, ми можемо робити цікаві речі зчитування. Наприклад, з
-p параметр, ми можемо надати рядок підказки:
#! / бін / баш
# read-single: прочитати кілька значень у змінну за замовчуванням read -p "Введіть одне або кілька значень > "
echo "REPLY = '$REPLY'"
#! / бін / баш
# read-single: прочитати кілька значень у змінну за замовчуванням read -p "Введіть одне або кілька значень > "
echo "REPLY = '$REPLY'"
З -t та -s параметри, ми можемо написати сценарій, який читатиме «секретний» введення та час очікування, якщо введення не буде завершено за вказаний час:
#! / бін / баш
# read-secret: введіть секретну парольну фразу
якщо прочитано -t 10 -sp "Введіть секретну парольну фразу > " secret_pass; потім echo -e "\nСекретний пароль = '$secret_pass'"
ще
echo -e "\nЧас очікування введення" >&2 вихід 1
fi
#! / бін / баш
# read-secret: введіть секретну парольну фразу
якщо прочитано -t 10 -sp "Введіть секретну парольну фразу > " secret_pass; потім echo -e "\nСекретний пароль = '$secret_pass'"
ще
echo -e "\nЧас очікування введення" >&2 вихід 1
fi
Сценарій пропонує користувачеві ввести секретну парольну фразу та чекає 10 секунд на введення. Якщо введення не буде завершено протягом зазначеного часу, скрипт завершує роботу з помилкою. Оскільки
-s включено, символи парольної фрази не відображаються на дисплеї під час їх введення.
Можна надати користувачеві відповідь за замовчуванням за допомогою -e та -i варіанти разом:
#! / бін / баш
# read-default: вказує значення за замовчуванням, якщо користувач натискає клавішу Enter. read -e -p "Яке ваше ім'я користувача?" -i $USER
echo "Ви відповіли: '$REPLY'"
#! / бін / баш
# read-default: вказує значення за замовчуванням, якщо користувач натискає клавішу Enter. read -e -p "Яке ваше ім'я користувача?" -i $USER
echo "Ви відповіли: '$REPLY'"
У цьому сценарії ми пропонуємо користувачеві ввести своє ім’я користувача та використовувати змінну середовища USER щоб надати значення за замовчуванням. Коли сценарій запускається, він відображає рядок за замовчуванням, і якщо користувач просто натискає клавішу Enter, зчитування призначить рядок за замовчуванням до ВІДПОВІДЬ змінна.
[me@linuxbox ~]$ читання за замовчуванням Яке ваше ім'я користувача? я ти відповів: "я"
[me@linuxbox ~]$ читання за замовчуванням Яке ваше ім'я користувача? я ти відповів: "я"
документація