如何让PS1的字符串中的函数执行?

get_git_branch(){
        local branch__=

        git branch &> /dev/null

        if [ $? -eq 0 ]; then
                branch__=`git branch --no-color | sed -ne 's/^\* \(.*\)$/\1/1p' | tr a-z A-Z`
        else
                branch__="NORMAL"
        fi
        echo -n $branch__
}

exit_status(){
        local smile__=
        if [ $? -eq 0 ]; then
                smile__='(*´▽`*)'
        else
                smile__='(╥﹏╥)'
        fi
        echo -n $smile__
}

export PS1='[\w]\d\t\$\n\u->(`get_git_branch`)`exit_status`:'

我想显示git branch分支,然后如果程序执行成功返回笑脸,但是get_git_branch能够执行,而exit_status只会执行一次就一直是那个状态这是为什么?

阅读 2.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进