バックグラウンド シェル スクリプトから新しいターミナル (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