我正在编写bash的个人提示,我想在提示行的末尾添加上一条命令的退出状态。
例如
goofy@disney:~$ test "0" = "0"
goofy@disney:~$ test "0" = "1" ✔️0
goofy@disney:~$ ✘1
有什么办法可以做到这一点?
答案 0 :(得分:1)
尝试一下
\$?
演示:
$PS1="\$?:>"
0:>test "0" = "1"
1:>test "0" = "0"
0:>test "0" = "1"
1:>
答案 1 :(得分:1)
请参见以下简单示例:
bash# cat rc
PS1="pynexj@so # \[\e[s\e[\$(( COLUMNS - 4 ))GE\$?\e[u\]"
bash# source ./rc
pynexj@so # false E0
pynexj@so # true E1
pynexj@so # (exit 127) E0
pynexj@so # true E127
pynexj@so # E0
一点解释:
ESC [ s
-保存当前光标位置ESC [
N G
-将光标移到列 N ESC [ u
-恢复保存的光标位置有关更多详细信息,请参见ANSI escape code。