从脚本打开新终端以获取用户输入并在脚本中使用输入

从脚本打开新终端以获取用户输入并在脚本中使用输入

是否可以从后台 shell 脚本打开一个新终端(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

相关内容