相关疑难解决方法(0)

Bash:在提示中显示退出状态:

GREEN="\e[1;32m"
RED="\e[1;31m"
NONE="\e[m"

get_exit_status(){
   es=$?
   if [ $es -eq 0 ]
   then
       echo -e "${GREEN}${es}${NONE}"
   else
       echo -e "${RED}${es}${NONE}"
   fi
}

get_path(){
    #dummy function
    echo "PATH"
}

PROMPT_COMMAND='exitStatus=$(get_exit_status)'
Run Code Online (Sandbox Code Playgroud)

下面给出了正确的 exitStatus 但颜色变量没有扩展:

PS1='${RED}\h $(get_path) ${exitStatus}${NONE} '
Run Code Online (Sandbox Code Playgroud)

但是,下面的一个给了我颜色,但退出状态没有更新:

PS1="${RED}\h $(get_path) ${exitStatus}${NONE} "
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?我该如何解决这个问题,以便 exitStatus 和颜色都能正常工作?

bash prompt

11
推荐指数
1
解决办法
8253
查看次数

标签 统计

bash ×1

prompt ×1