zsh - zsh:获取最后提示命令的状态?(在函数中获取 `%?` 的值)
问题描述
我想获取最后一个提示执行的命令的状态,提示扩展中会是什么%?
,但我想在函数中获取它。(为什么?我喜欢%?
提示中的想法,但认为通过将其呈现为不仅仅是数字的东西来修饰它会很好:“EX_USAGE”而不是“64”或“SIGILL”而不是“ 132”。这意味着将值传递%?
给函数以生成出现在提示中的文本。)
显而易见的答案是print -P %?
,但它不起作用:它返回与 相同的内容$?
,即在任何地方执行的最后一个命令的状态,包括提示符的内部命令替换。毫不奇怪,%
扩展标志也有同样的问题。(我不确定这是否是一个错误,或者它是否按设计工作。)我可以使用一个precmd
函数来保存$?
全局,但前提是我可以保证它在其他任何事情之前被调用,这不是我的承诺做起来很舒服。
有什么建议么?zsh 显然具有我想要的值,因为它在即时百分比扩展中使用它,但我该如何获得呢?如果解决方案需要在一个由提示替换调用的函数中,那很好,因为这就是我已经在做的事情,但如果它在其他地方工作,则可以加分。如果它有所作为,我使用的是 zsh 5.3。
解决方案
推荐阅读
- python - 如何在 Ubuntu 中查看 systemd 服务日志
- python - TypeError:“AxesSubplot”对象不支持索引
- python - 将具有相同索引的两个矩阵的元素相乘
- gcloud - 错误:(gcloud.beta.filestore.instances.create)PERMISSION_DENIED:权限'file.instances.create'在'projects/----`上被拒绝
- reactjs - 当我在命令提示符下运行 npx create-react-app gui 时出错
- python - OSError:无法加载库“gobject-2.0”:错误 0x7e
- php - 使用类属性或传递参数
- linux - 连续记录linux中的命令历史
- python - python - 如何将双引号字符串转换为python中每个单独值的单引号?
- r - R 的 S3 方法调度在采购包时不起作用