私のコードを参照してください – (bashスクリプト)
画面に2つのダイアログを同時に表示したいです。
ダイアログボックスが表示されます。
tail –f from - /var/log/process1.log 、
2番目のダイアログボックスは次のように表示されます。
ファイルのtail –f - /var/log/process2.log
しかし、悲しい事実は、2つではなく1つのダイアログボックスしか表示できないということです。これは、最初のダイアログボックスを実行すると、2番目のダイアログボックスが最初のダイアログボックスが終了したときにのみ発生するためです。
したがって、2番目のダイアログボックスでプロセスを作成します。(…..) & , 2 つのダイアログボックスを表示するには
しかし… 。 2番目のダイアログボックスはプロセスIDを生成しますが、2番目のダイアログボックスGUIは生成しません。 (ダイアログを作成するためにプロセスを使用すると、プロセスはダイアログをstdoutに送信しないようです。)
それでは、プロセスを使用して2番目のダイアログボックスを実行しながらダイアログボックスGUIを画面に送信する方法は? 、または画面に2つのダイアログボックスを表示する別のソリューション
私のコード
#!/bin/bash
# this dialog will locate the tail box on the top of the screen
dialog --begin 15 10 --tailbox /var/log/proccess1.log 13 125
# this dialog will locate the tail box down in the screen
( dialog --begin 37 10 --tailbox /var/log/proccess2.log 13 125 ) &
答え1
この試み:
dialog --keep-window --begin 0 0 --tailboxbg /var/log/process1.log 20 110 \
--and-widget --keep-window --begin 0 120 --tailboxbg /var/log/process2.log 20 110 \
--and-widget --begin 21 100 --msgbox "Press Enter to exit." 5 25
必要に応じて数字を調整します。生き残るmsgbox
ためにそれを使用する必要がありますdialog
。
答え2
この問題に対処するのは今回が初めてですdialog
。マニュアルページを読んで、これがあなたが求めているものだと思います。
#!/bin/bash
# this dialog will locate the tail box on the top of the screen
dialog --keep-window --begin 15 10 --tailboxbg /var/log/syslog 13 125 \
--and-widget --begin 37 10 --tailbox /var/log/dmesg 13 125
答え3
screen
会議でこれをするのはどうですか?各ブーツが内部にある2つの別々の窓...
私は検討しています(これは.screenrc
設定ファイルです):
startup_message off
screen dialog --begin 10 10 --tailbox /var/log/proccess1.log 13 125
split
focus down
screen dialog --begin 10 10 --tailbox /var/log/proccess2.log 13 125
実行するには、次を使用します。screen -c screenrcfile
HTH、乾杯