【问题标题】:Terminal, Exit status aligned to right终端,退出状态向右对齐
【发布时间】:2020-07-16 09:55:21
【问题描述】:

我正在编写我的个人 bash 提示,我想在提示行的末尾添加上一个命令的退出状态。

例如

goofy@disney:~$ test "0" = "0"
goofy@disney:~$ test "0" = "1"                         ✔️0
goofy@disney:~$                                        ✘1

有什么办法可以做到吗?

【问题讨论】:

  • Stack Overflow 用于编程问题,而不是关于使用或配置 Unix 及其实用程序的问题。 Unix & LinuxSuper User 将是解决此类问题的更好地方。
  • @Barmar 很高兴知道这一点,感谢您的建议。

标签: bash terminal prompt


【解决方案1】:

试试这个 \$?

演示:

$PS1="\$?:>"
0:>test "0" = "1"
1:>test "0" = "0"
0:>test "0" = "1"
1:>

【讨论】:

    【解决方案2】:

    看这个简单的例子:

    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 [NG - 将光标移动到列N
    • ESC [ u - 恢复保存的光标位置

    更多详情请见ANSI escape code

    【讨论】:

      猜你喜欢
      • 2015-12-15
      • 1970-01-01
      • 1970-01-01
      • 2020-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-16
      相关资源
      最近更新 更多