新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/9/26 22:13:10来源:尧图网络
如何写跨平台 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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

DeepOpen 项目 CLINC150 实测结果全解析:150 类意图识别评测指标、预测方式与统计检验 2026/9/26 22:55:32

DeepOpen 项目 CLINC150 实测结果全解析:150 类意图识别评测指标、预测方式与统计检验

【免费下载链接】deepopen 非自回归System 1决策引擎,专为结构化类型决策场景设计 DeepOpen Multilingual, non-autoregressive System 1 decision engine. 项目地址: https://gitcode.com/gh_mirrors/de/deepopen 点击查看 免费下载 本篇围绕 DeepOpe…

阅读更多 →
3天搞定韩国有哪些做潮牌的网站一文搞懂建站坑 2026/9/26 22:55:32

3天搞定韩国有哪些做潮牌的网站一文搞懂建站坑

3天搞定韩国有哪些做潮牌的网站一文搞懂建站坑 改个需求建站公司拖一周,这种憋屈事儿谁没经历过?很多湖南做外贸或潮牌集合店的老板,想参考韩国同行怎么搭网站,结果一找外包,报价高得离谱,工期还遥遥无期。其实, 韩国有哪些做潮牌的网站…

阅读更多 →
Flask + WebUploader 实现分片上传:从切片到合并的完整指南 2026/9/26 22:55:19

Flask + WebUploader 实现分片上传:从切片到合并的完整指南

简介:upload-demo 是一套基于 Python Flask 与 WebUploader 实现的分段上传/下载演示项目,面向需要处理大文件传输的前后端开发者。项目前端采用 WebUploader 将大文件切成多个分片并逐个上传,后端接收全部片后完成合并,同时支持多…

阅读更多 →
React Native在OpenHarmony上拨号:Linking与自建桥接方案 2026/9/26 22:55:19

React Native在OpenHarmony上拨号:Linking与自建桥接方案

先交代一下我这边的实际状态:我最近在一台OpenHarmony开发板上跑React Native应用,第一件事就是被"拨打电话"这个看似简单的功能绊住了。倒不是RN本身的问题,而是OpenHarmony这套生态里,Linking这个模块的行为和其他平台…

阅读更多 →
毕业设计模型训练全流程:数据集校验与YOLOv8实践指南 2026/9/26 22:55:19

毕业设计模型训练全流程:数据集校验与YOLOv8实践指南

简介:这是一份面向计算机相关专业毕业设计场景的模型训练配套资源,基于 Faceforensics 与 Celeb-DF 数据集整理构造,适合需要制作深度伪造检测或人脸特征提取项目的学生使用,也可作为课程设计或项目初期立项演示。资源核心是一条可…

阅读更多 →
Android笔记APP开发实战:Kotlin+SQLite教程 2026/9/26 22:55:19

Android笔记APP开发实战:Kotlin+SQLite教程

1. 项目整体设计与思路拆解1.1 这个笔记APP到底要做到什么程度先说结论:用Android Studio写一个笔记APP,是新手入门移动开发最好的练手项目,但前提是你得知道自己在做什么。很多教程一上来就教你搭个界面、存个字符串,最后跑起来能…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉