加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – tmux:以编程方式水平拆分窗口并运行两个命令?

发布时间:2020-12-13 22:59:00 所属栏目:Linux 来源:网络整理
导读:(重复注释)这不是 How to set up tmux so that it starts up with specified windows opened?的欺骗.这个问题围绕配置tmux,没有一个答案提供这个问题的答案. (尾注) 假设我有两个命令 tail -f log1tail -f log2 我如何以编程方式调用tmux水平分割窗口并在其
(重复注释)这不是 How to set up tmux so that it starts up with specified windows opened?的欺骗.这个问题围绕配置tmux,没有一个答案提供这个问题的答案. (尾注)

假设我有两个命令

tail -f log1
tail -f log2

我如何以编程方式调用tmux水平分割窗口并在其自己的窗格中运行每个命令,类似于:

for i in log1 log2; do xterm -e tail -f $i& done

解决方法

没有一个命令可以实现这一目标;相反,您将多个命令发送到服务器.但是,这可以通过单次调用tmux来完成.

tmux new-session -d tail -f log1 ; split-window tail -f log2 ; attach

请注意,转义分号用于分隔tmux命令.未转义的分号被视为由特定tmux命令执行的shell命令的一部分.

在您的问题中调整循环可能类似于:

tmux_command="new-session -d"
commands=("tail -f log1" "tail -f log2" "tail -f log3")
tmux_command+=" ${commands[0]}"
for cmd in "${commands[@]:1}"; do
    tmux_command+="; split-window $cmd"
done
tmux "$tmux_command ; attach"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读