Открыть новый терминал из скрипта, чтобы получить пользовательский ввод и использовать ввод в скрипте

Открыть новый терминал из скрипта, чтобы получить пользовательский ввод и использовать ввод в скрипте

Возможно ли из фонового скрипта оболочки открыть новый терминал (xterm, gnome-terminal и т. д.), получить вводимые пользователем данные, закрыть вновь открытый терминал и использовать введенные данные?

решение1

Подумайте об использовании чего-то вроде zenityэтого.

QUEST="$(zenity --entry --title="Answer these questions three" --text="What is your quest?")"

решение2

Вот как это можно сделать, используя xterm:

mkfifo answer.fifo
xterm -T window-title-string -n icon-string -e bash -c 'read -p "input-prompt: " answer; echo "$answer" > answer.fifo' &
answer=$(<answer.fifo)

man xtermДополнительную информацию об управлении размером и положением окна, а также цветом и шрифтом текста см. в разделе, если вы хотите, чтобы внешний вид отличался от внешнего вида по умолчанию.

Аналогично это gnome-terminalможно сделать, но с меньшим количеством опций для изначального управления размером, положением и цветом окна (хотя вы можете использовать это tputв -eотправляемом скрипте).

Связанный контент