bash - 如果在 shell 命令中运行,tmux resizep 无法按预期工作
问题描述
我正在尝试从 bash 脚本设置 tmux 会话,而不使用任何会话管理器,例如 tmuxinator/tmuxp/...
如果我运行此代码
#!/bin/sh
tmux \
new '/path/to/a/script.sh' \; \
splitw -v '/path/to/another/program' \; \
selectp -U \; \
resizep -y 4 \;
它可以工作,除了一件事:根据man tmux
我希望它将顶部窗格的大小调整为 4 行,但它会将其调整为可变数量的行,这取决于终端窗口的大小(不一定是 4 行,它是不是窗口高度的 4%)。
如果我删除 resizep 行
#!/bin/sh
tmux \
new '/path/to/a/script.sh' \; \
splitw -v '/path/to/another/program' \; \
selectp -U \;
然后从会话内部我手动运行:resizep -y 4
tmux 命令,然后它有效地将其调整为 4 行。
有谁知道它为什么会发生,我能做些什么来解决它?
根据man tmux
规格
OS:Arch Linux
WM:dwm (suckless)
Terminal:ts (suckless)
Shell:bash
编辑:我在 ts/bash shell 中执行这个 bash 脚本,所以在我执行它的那一刻,shell 窗口已经存在,它的宽度和高度。
解决方案
推荐阅读
- python - Groupby 计数为一列和 groupby 熊猫中另一列的唯一值的数量
- c++ - 将 somedialog.h 包含到项目的其他部分使 ui_somedialog.h 对编译器不可见
- python - 有没有办法使用 python 修改输入设备的 DPI 或扫描分辨率?
- swift - 为什么 DispatchSemaphore.wait() 会阻止这个完成处理程序?
- github-actions - Github Actions:在特定操作系统上运行步骤
- flutter - Flutter 的 (Widget)State/StatefulWidget 模式的设计优势是什么?
- python-3.x - 机器学习:只能将 str(不是“int”)连接到 str
- linux - 如果某些参数不为空,则将 HTTP POST 请求重定向到另一个子域
- angular7 - 如何仅使用“internationalNumber”绑定`ngx-intl-tel-input`
- javascript - jQuery 什么会导致 .off() 被忽略?