TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #267 1.31K
Создаем интерактивность в терминале

Когда хочется добавить взаимодействие в скрипт, но без навороченного TUI, достаточно трех команд Bash: read -s, tput, stty. С их помощью можно: скрыть ввод паролей, управлять курсором, отключать echo, обрабатывать клавиши "на лету".

▪️ read -s - скрытый ввод. Используется для ввода пароля:


read -sp "Введите пароль: " password
echo -e "\nПароль получен!"


-s - скрыть, -p - prompt, -e - enable readline, -n - количество символов

▪️ tput - контроль терминала


tput civis # скрыть курсор
tput cnorm # вернуть курсор
tput setaf 2; echo "Зелёный текст"; tput sgr0


Примеры:

setaf - цвет текста (0-7)
setab - цвет фона
cup 5 10 - переместить курсор на строку 5, столбец 10
clear - очистить экран

▪️ stty - контроль поведения терминала


stty -echo # отключить вывод на экран
read username
stty echo # вернуть обратно


Можно использовать и для отключения Ctrl+C, перехвата ввода, таймаутов:


stty intr '' # временно отключить ^C


▪️ Сценарий: простой ввод пароля с маской


read_password() {
prompt="Введите пароль: "
password=""
while IFS= read -rsn1 char; do
[[ $char == $'\0' || $char == $'\n' ]] && break
password+="$char"
echo -n '*'
done
echo
}

read_password


BashTex 📱 #bash #utils
  • 👍 10
  • 🔥 1
More from @bash_tex
  1. Oct 12, 2026xargs против while read: где быстрее и безопаснее Обе конструкции позволяют обработать спи…
  2. Oct 9, 2026BashTex 📱 #мем
  3. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  4. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  5. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  6. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →