How to print current bash prompt?

后端 未结 6 1074
隐瞒了意图╮
隐瞒了意图╮ 2020-12-15 08:20

The question is simple. I want to evaluate current value of PS1 in my bash script.

All materials on google point to tutorials on pimping it up, but I wa

6条回答
  •  孤城傲影
    2020-12-15 09:02

    Try the below command

    echo $PS1 | 
    sed -e s/'\\d'/"$(date +'%a %b %_d')"/g | 
    sed -e s/'\\t'/"$(date +'%T')"/g | 
    sed -e s/'\\@'/"$(date +'%r')"/g | 
    sed -e s/'\\T'/"$(date +'%r'| awk {'print $1'})"/g | 
    sed -e s/'\\e'//g | sed -e s/'\\h'/"$HOSTNAME"/g | 
    sed -e s/'\\h'/"$HOSTNAME"/g | 
    sed -e s/'\\H'/"$HOSTNAME"/g | 
    sed -e s/'\\u'/"$USER"/g | 
    sed -e s@'\\W'@"$(pwd)"@g | 
    sed -e s/'\\w'/"$(pwd | sed -e s@$HOME@'~'@g )"/g | 
    sed -e s/"\\\\"//g | 
    sed -e s/"\\["//g | 
    sed -e s/"\\]"/*/g | 
    cut -d'*' -f2 | 
    cut -d';' -f2 | 
    sed s/\ //g | 
    sed -e s/[a-z]$/"$([ "$USER" != "root" ] && echo \$ || echo \#)"/g
    

提交回复
热议问题