Zsh tmux运行命令-";返回126“;,这是什么意思?

Zsh tmux运行命令-";返回126“;,这是什么意思?,zsh,tmux,Zsh,Tmux,在my.tmux.conf中,我有一行: bind r run“~/bin/tmux\u renum” 但它不起作用(它应该对选项卡窗口重新编号-请参阅)。弹出黄色状态栏“~/bin/tmux_renum”返回126 我不明白这是什么意思。有人见过这个吗 我已经确定要完全退出tmux会话,重新启动tmux进行测试 如果有关系的话,我也在使用zsh。tmux命令运行shell(在您的配置中缩写为run),将字符串传递给/bin/sh†。除非您的脚本正在运行并且退出时使用了代码126,否则返回此退出

在my
.tmux.conf
中,我有一行:

bind r run“~/bin/tmux\u renum”

但它不起作用(它应该对选项卡窗口重新编号-请参阅)。弹出黄色状态栏“~/bin/tmux_renum”返回126

我不明白这是什么意思。有人见过这个吗

我已经确定要完全退出tmux会话,重新启动tmux进行测试

如果有关系的话,我也在使用zsh。

tmux命令
运行shell
(在您的配置中缩写为
run
),将字符串传递给
/bin/sh
†。除非您的脚本正在运行并且退出时使用了代码126,否则返回此退出代码的可能是您的
/bin/sh

当执行命令出现问题时,shell会给出大量退出代码(126和127)。具体来说,(根据POSIX.1)126通常意味着该文件不可执行

试试这个:

chmod +x ~/bin/tmux_renum


†从技术上讲,它使用定义为的任何_PATH_BSHELL,但在类Unix系统上几乎总是
/bin/sh

最新发布的tmux 1.7添加了
移动窗口-r
命令和
重新编号窗口
会话选项。前者对单个会话(当前会话或指定会话)进行一次性重新编号;后者会自动为会话维护一个“无间隙”的窗口编号序列(任何已完成
上的窗口设置重新编号的会话,或使用
上的窗口设置重新编号的会话,因为所有会话都没有以其他方式覆盖该选项)。下面的答案非常好。别忘了投票!