首页/新闻资讯/正文详情

如何写跨平台 tmux 脚本?psmux 让一份 bash 脚本在 Windows、Linux、macOS 通吃

发布时间:2026/9/26 22:13:13 来源:云帆数科 栏目:资讯中心
如何写跨平台 tmux 脚本?psmux 让一份 bash 脚本在 Windows、Linux、macOS 通吃
如何写跨平台 tmux 脚本psmux 让一份 bash 脚本在 Windows、Linux、macOS 通吃【免费下载链接】psmuxTmux on Windows Powershell - tmux for PowerShell, Windows Terminal, cmd.exe. Includes psmux, pmux, and tmux commands. This is native High-Performance Tmux designed for Windows in Rust 项目地址: https://gitcode.com/gh_mirrors/ps/psmux想在 Windows、Linux、macOS 三台电脑上跑同一份 tmux 脚本psmux 是一个用 Rust 编写的原生 Windows 终端复用器完全兼容 tmux 的命令、配置与格式变量并自带tmux命令别名。装上它之后你写给 Linux 的那份 bash 会话脚本在 Windows 上原样就能跑。本文给出一套跨平台 tmux 脚本的实用写法、高频命令和平台差异清单帮你告别if OS Windows式的补丁代码。为什么 tmux 脚本能在 Windows 上直接运行psmux 安装后会提供三个可执行文件psmux.exe、pmux.exe和tmux.exe它们是同一个程序。命令名、参数、目标语法session:window.pane、%pane_id、140 格式变量、配置语法全部沿用 tmux 规范版本号也是 tmux 风格所以脚本里的tmux -V版本检查在三个平台上都能通过$ tmux -V tmux 3.3.8也就是说脚本里始终调用tmuxLinux/macOS 上它找到真正的 tmuxWindows 上它找到 psmux。完整兼容矩阵见 Compatibility 文档。一键安装 psmux最快 30 秒Windows 上用 winget 一条命令即可winget install psmux也支持scoop install psmux、choco install psmux或cargo install psmux。安装完执行tmux -V验证只要打印出tmux 3.3.x跨平台脚本的环境就齐了。一份 bash 脚本跑通三台机器下面是典型的项目会话引导脚本检测会话是否存在不存在就创建编辑器窗口 日志窗口的布局。在 Windows 上用 Git Bash 运行、在 Linux/macOS 上用任意 shell 运行内容一字不改#!/usr/bin/env bash # dev.sh幂等的会话引导三平台通用 S${1:-dev} if ! tmux has-session -t $S 2/dev/null; then tmux new-session -d -s $S -n editor tmux split-window -h -t $S:editor tmux new-window -d -t $S -n logs fi tmux list-windows -t $S -F #{window_index}:#{window_name}关键点只有一个has-session -t幂等模式——会话存在时退出码为 0不存在时为 1且失败路径会向 stderr 输出cant find session所以记得加2/dev/null。运行两次第二次自动变成空操作这正是自动化脚本最需要的行为。脚本里最好用的 5 个跨平台命令写跨平台 tmux 脚本时真正干活的基本就是下面这几个它们在 psmux 与 tmux 中的行为完全一致命令在脚本中的用途has-session -t 名字判断会话是否存在幂等创建的基础send-keys -t 目标 按键向指定面板打字如send-keys -t dev:logs git status Entercapture-pane -p -t 目标抓取面板屏幕内容用于断言和日志display-message -p #{变量}把会话名、面板 ID 等值读进脚本变量wait-for 通道名跨面板、跨进程的简单信号同步目标语法也完全通用dev:editor.0会话:窗口.面板、%3面板稳定 ID、4窗口稳定 ID脚本可以安全地按 tmux 的写法定位目标。更多命令细节见 Scripting 文档 和 命令参数参考。必须留意的 4 个平台差异绝大多数 tmux 脚本无需改动但以下 4 处是 Windows 与 Unix 的真实分界建议写脚本前对照一遍run-shell/if-shell的解释器不同Linux/macOS 上 tmux 用sh -c执行Windows 上 psmux 用pwsh -NoProfile -Command执行。想让一份配置两端通吃可以用这个便宜的分支Get-Command在 sh 里不存在、必然失败if-shell Get-Command pwsh source-file ~/.tmux.windows.conf source-file ~/.tmux.unix.conf路径形态不同#{pane_current_path}在 Windows 上返回C:\...而不是 POSIX 路径。Git Bash 里需要时用cygpath -u转一下反过来给pipe-pane写日志文件时要用cygpath -w转成 Windows 路径因为管道在 Windows 侧执行。面板默认 shell 不同Unix 下面板跑$SHELLWindows 下默认是 PowerShell 7。echo hello world在 pwsh 里是Write-Output会逐词换行输出——这是 shell 行为而非 psmux 行为。给面板发送的命令尽量保持 shell 中立或用单引号包住需要面板自己展开的变量。错误前缀是psmux:找不到目标时退出码同样是 1psmux: cant find pane: %999按冒号后面的措辞匹配即可兼容两端。完整对照表见官方教程 Cross Platform tmux Scripts。进阶把 TUI 变成无头测试对象复用器还有个隐藏福利全屏程序neovim、lazygit、AI CLI可以在无显示器环境下被脚本驱动并断言。核心套路只有两行——固定面板尺寸保证换行一致然后轮询capture-pane等待标记而不是固定 sleeptmux new-session -d -s ci -x 100 -y 30 -n tui tmux send-keys -t ci:tui nvim --clean Enter until tmux capture-pane -p -t ci:tui | grep -q NVIM; do sleep 0.5; done这段 CI 检查脚本在 WindowsGit Bash psmux与 Ubuntu runner 上可以共用同一个 job 体是跨平台 tmux 自动化里性价比最高的技巧。延伸阅读官方跨平台脚本完整教程docs/tutorials/cross-platform-tmux-scripts.md脚本与自动化全命令参考hooks、pipe-pane、目标语法docs/scripting.mdtmux 兼容矩阵docs/compatibility.md多窗口/多面板开发环境布局docs/tutorials/dev-environment-layouts.md面向 IDE 与工具的-C控制模式协议docs/control-mode.md一句话总结命令永远写tmux解释器相关逻辑用if-shell分支路径按需cygpath转换——做到这三点你的一份 bash 脚本就真正在 Windows、Linux、macOS 通吃了。【免费下载链接】psmuxTmux on Windows Powershell - tmux for PowerShell, Windows Terminal, cmd.exe. Includes psmux, pmux, and tmux commands. This is native High-Performance Tmux designed for Windows in Rust 项目地址: https://gitcode.com/gh_mirrors/ps/psmux创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

python的智能制造导论工业场景模拟第一百一十四篇:仿真质量漂移现象,缓慢偏移工艺参数,测试实时分析模块能否提前捕捉质量异常趋势。
python的智能制造导论工业场景模拟第一百一十四篇:仿真质量漂移现象,缓慢偏移工艺参数,测试实时分析模块能否提前捕捉质量异常趋势。

质量漂移仿真:缓慢偏移工艺参数,测试实时分析模块能否提前捕捉异常趋势周二下午3点,质量部的小周拿着一份CPK报告,急匆匆地推开控制室的门。"王工,你看这个——"小周把报告拍在桌上,"过去两… · 2026/9/26 22:12:59

微前端子应用动态加载与沙箱隔离的底层实现
微前端子应用动态加载与沙箱隔离的底层实现

微前端子应用动态加载与沙箱隔离的底层实现在大型企业中台架构中,微前端(Micro Frontends)已经成为支撑跨团队、多技术栈独立交付的标准基建。 当我们使用 qiankun、micro-app 或自研微前端基座加载一个子应用时,底层最核心、最具… · 2026/9/26 22:12:59

企业网站建设套餐上海避坑指南
企业网站建设套餐上海避坑指南

上海企业网站建设套餐怎么选?3步避开3万块坑,让访客变订单 网站做完了,后台数据一片惨淡,每天UV(独立访客)个位数,连个询盘电话都没有。这种“花钱买了个摆设”的痛苦,上海很多中小企业主都经历过。别急着怪技术不行,问题往往出在最开始选“企业… · 2026/9/26 22:12:59

3个实战案例揭秘免费服务器的网站有哪些陷阱
3个实战案例揭秘免费服务器的网站有哪些陷阱

3个实战案例揭秘免费服务器的网站有哪些陷阱 域名服务器搞不懂,是90%创业团队在起步阶段踩坑的重灾区。我见过太多老板,为了省几千块服务器钱,最后花几万块补救数据丢失和SEO降权。今天不讲虚的,直接拆解三个真实 实战案例 ,看看… · 2026/9/26 22:52:30

Cocos2d-x 链接 libluajit.a 报错?预编译第三方库解药与跨平台替换指南
Cocos2d-x 链接 libluajit.a 报错?预编译第三方库解药与跨平台替换指南

简介:针对 cocos2d-x 移动游戏开发者在苹果设备上遇到的 Lua 运行环境崩溃问题,这份 zip 压缩包整合了支持新版移动设备、尤其是 5S 及以上型号的第三方依赖库,核心包含可直接替换的 libluajit.a 文件,用于解决因架构或系统版本不… · 2026/9/26 22:52:30

Atlas 300V 24G 推理加速卡上部署 YOLOv8s 完整实战
Atlas 300V 24G 推理加速卡上部署 YOLOv8s 完整实战

最近群里好几个人在问 Atlas,问着问着就落到两个具体问题上:atlas 300v 24g 是运算加速卡吗?atlas 怎么部署 yolo?我前阵子刚好在一台 x86 服务器上把 YOLOv8s 完整跑在了一张 Atlas 300V 24G 上,实际推了几路视频流&a… · 2026/9/26 22:52:30

EasyScopeX示波器上位机软件:从安装连接到数据导出与自动化控制
EasyScopeX示波器上位机软件:从安装连接到数据导出与自动化控制

1. EasyScopeX是个什么来头:它解决的痛点和它的适用范围先说个我自己的经历。有阵子我在实验室调试一块电源板的纹波,手边是鼎阳的数字示波器,波形在屏幕上抓得清清楚楚,可想把数据发回电脑做FFT对比,结果只能拿手机拍… · 2026/9/26 22:52:30

LLM 推理的核心指标:TTFT、TPOT 与 Latency 的配置验证
LLM 推理的核心指标:TTFT、TPOT 与 Latency 的配置验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 22:52:23

无锡网站建设培训班避坑指南:揭秘3种建站报价陷阱与真实成本
无锡网站建设培训班避坑指南:揭秘3种建站报价陷阱与真实成本

无锡网站建设培训班避坑指南:揭秘3种建站报价陷阱与真实成本 你的网站被黑挂马,浏览器弹出红色警告,客户投诉不断,而你连后台登录密码都记不清,更不知道找谁修、修一次要多少钱?这种无助感,90%的新手站长都经历过。在无锡,每年都有大量转行做网站… · 2026/9/26 22:52:23

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码