cygwin 中的 Tmux 绑定错误“返回 127”

cygwin 中的 Tmux 绑定错误“返回 127”

我想在 中使用剪贴板管理器tmux。是的CopyQ,但我想这并不重要。在~/.tmux.conf我设置以下绑定:

set-window-option -g mode-keys vi

bind C-y run 'out=`tmux save-buffer - ` && copyq add "$out"'

当我按此快捷键时 PREFIXCtrl-y复制CopyQ失败并出现以下消息

'out=`tmux save-buffer - ` && copyq add "$out"' returned 127 

但是,如果我尝试手动输入这些命令,那么它们就会起作用,并将文本从tmux缓冲区复制到copyq所需的位置

$ out=`tmux save-buffer - `
$ copyq add "$out"

我需要说以下命令工作正常并将文本从tmux缓冲区打印到屏幕:

bind C-w run 'out=`tmux save-buffer - ` && echo "$out"'

如何使原始装订工作正常?

答案1

值 127 是当 bash 脚本中或 bash 命令行上的任何给定命令在 PATH 系统环境变量定义的任何路径中找不到时,由 shell /bin/bash 执行。

所以,tmux只是没有CopyQ在它的$PATH变量中,当开始绑定时。如果添加完整路径,CopyQ则可以解决问题:

bind C-y run 'out=`tmux save-buffer - ` &&  /cygdrive/c/Program\ Files\ \(x86\)/CopyQ/copyq add "$out"'

其他方法是添加source ~/.bashrc~/bash_profile

相关内容