bash 脚本可以启动 tmux,将屏幕水平拆分 5 次并在每个中运行 watch -n1 tail -n5 吗?

Chi*_*Abs 1 bash tmux

是否可以制作一个 bash 脚本来启动 tmux 并水平拆分屏幕并watch -n1 tail -n5 file_n在每个脚本中运行?基本上,我多次启动脚本并将其进度写入我想监视的不同文件中。如果我可以从一个脚本运行它而不是自己手动打开 10 个文件,那就太好了。我从来没有使用过 tmux 顺便说一句,这就是我问这个的原因。

dpw*_*dpw 7

尝试这个。它首先建立一个分离的 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
Run Code Online (Sandbox Code Playgroud)

如果您想拥有此运行的多个实例,则需要将 的所有出现更改my_session_name为每个会话的唯一内容。

此外,您的标题提到了 5 个窗口,但您的帖子正文提到了 10 个文件。代码将在 10 个窗口中打开 10 个文件。更改seq 1 10您实际想要的许多窗口/文件的部分。