tmux 运行 fish shell 函数 returns 错误 127

tmux run fish shell functions returns error 127

在我的 .tmux.conf 中有这些行:

set -g default-terminal "xterm-256color"
set-option -g default-shell /usr/bin/fish

bind -n M-I run "fish_prompt"

但是按 M-I 我收到错误 127 作为响应。像echo 123这样的普通bash函数工作正常,只有fish函数没有找到。

default-shell 将 shell 设置为在新窗格中使用;它不影响 run-shell 命令使用的 shell,它仍然是 /bin/sh.

如上所述,run-shell 始终使用 /bin/sh(由 _PATH_BSHELL 在 tmux 的源代码中定义)。

对于 运行 一条鱼 shell,您可以使用 run "fish -c fish_prompt",但这会混淆转义字符并以不太有用的方式生成输出。

您想看到什么输出 - 您使用的是 fish_prompt 还是其他函数?