我希望在Bash shell提示符下显示退出代码,以便我可以轻松地知道上一个命令是否成功运行,但是,它总是显示0.这有什么问题吗?那么有可能达到预期的效果吗?
PS1="\t <\w> ERR:$(echo $?) \$ "
- openSUSE 11.4上的Bash 4.1.10
答案 0 :(得分:7)
您忘记转义$
以便在执行分配时禁止扩展。
PS1="\t <\w> ERR:$(echo \$?) \$ "
22:04:48 <~/Work/tmp> ERR:x $ true
22:05:51 <~/Work/tmp> ERR:0 $ false
22:05:52 <~/Work/tmp> ERR:1 $