Fish 提示中的 $status 总是打印 0

Fish 提示中的 $status 总是打印 0

我尝试$status在 fish shell 中添加我的提示,但它总是打印 0。

不久前有人在 irc 上问过这个问题,我很惊讶这里没有答案,所以我想也把它发布在这里。

答案1

这是因为您在提示中调用的任何函数/命令都会重置该值。要使其工作,请将值分配给另一个变量,这是您在 fish_prompt 或 fish_right_prompt 函数中执行的第一件事。

function fish_prompt  --description 'Write out the prompt'
     set -l _display_status $status

     ...

     printf '%s' $_display_status
end

相关内容