是否可以从后台 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