Shell 鱼壳:$status变量始终为0

Shell 鱼壳:$status变量始终为0,shell,fish,Shell,Fish,我试图在fish shell提示符中获取上一个命令的状态: printf $status 但是,$status始终等于0,即使对于这样的命令: $ cat some-nonexistent-file bash中的同一命令返回正确的状态: $ cat some-nonexistent-file $ echo $? 1 有人能解释一下我做错了什么吗?对不起,我无法复制这个printf$status运行cat不存在文件后输出1。尝试以下几点:1。可能有一些奇怪的功能干扰。将~/.config/f

我试图在fish shell提示符中获取上一个命令的状态:

printf $status
但是,
$status
始终等于0,即使对于这样的命令:

$ cat some-nonexistent-file
bash中的同一命令返回正确的状态:

$ cat some-nonexistent-file
$ echo $?
1

有人能解释一下我做错了什么吗?

对不起,我无法复制这个
printf$status
运行
cat不存在文件后输出1
。尝试以下几点:1。可能有一些奇怪的功能干扰。将~/.config/fish移到一边,启动一个新会话,看看它是否仍在复制。2.也许你有不寻常的身材。
echo$FISH\u版本显示什么?3.你能发布失败的确切脚本吗?谢谢@logical_fish-我刚刚意识到,有一些命令在状态打印之前成功执行(退出代码为0),这就是状态等于0的原因。我应该将
$status
保存到
fish\u提示符开始处的临时变量中。