bashスクリプトはtmuxを起動し、画面を水平に5回分割し、毎回watch -n1 tail -n5を実行できますか?

bashスクリプトはtmuxを起動し、画面を水平に5回分割し、毎回watch -n1 tail -n5を実行できますか?

watch -n1 tail -n5 file_ntmuxを起動して画面を水平に分割して、各スクリプトで実行するbashスクリプトを作成できますか?デフォルトでは、スクリプトを複数回起動し、監視したいさまざまなファイルに進行状況を記録します。 10個のファイルを直接開くのではなく、スクリプトで実行できるとよいでしょう。ところで、私はtmuxを使ったことがないので、このように質問します。

ベストアンサー1

この試み。まず、別々のtmuxセッションを設定してから、tailコマンドを使用してウィンドウを開き、ウィンドウのレイアウトを設定してセッションに接続します。

for f in `seq 1 10`; do
if [[ $f -eq 1 ]]; then
        tmux new-session -d -s my_session_name "watch -n1 tail -n5 file_${f}"
    else
        tmux split-window -d -t my_session_name:0 -p20 -v "watch -n1 tail -n5 file_${f}";
    fi
done
tmux select-layout -t my_session_name:0 even-vertical
tmux attach-session -t my_session_name

この実行の複数のインスタンスが必要な場合は、すべての発生をmy_session_nameセッションごとに一意のものに変更する必要があります。

また、タイトルには5つのウィンドウが記載されていますが、投稿の本文には10のファイルが記載されています。そのままのコードは10個のウィンドウで10個のファイルを開きます。seq 1 10実際に希望のウィンドウ/ファイル部分を変更してください。

おすすめ記事