定义提示符 PS1 PS4

PS1,如:[xiluhua@vm-xiluhua][~]$ 

# prompt PS1
export PATH
BLUE=$(tput setaf 4)
PURPLE=$(tput setaf 5)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
export PS1='[$PURPLE]u[$BLUE]@[$PURPLE]h [$YELLOW]w [$BLUE]$[e[m] '

# prompt PS1
export PS1="u[e[32;1m]@[e[0m]h w[e[32;1m] $ [e[0m]"

 PS2说明:

export PS1="u  [e[32;1m]  @  [e[0m]  h w  [e[32;1m]  $  [e[0m]"
绿色 取消颜色 绿色 取消颜色

PS4,bash调试时使用

export PS4='+{$LINENO:${FUNCNAME[0]}}'
$LINENO:表示Shell脚本的当前行号
${FUNCNAME[0]}:代表当前正在执行的Shell函数的名称(测试下来,发现没效果)

源码:

xiluhua@vm-xiluhua][~/shell_script]$ cat -n 1.sh 
     1  #/bin/bash
     2  #auth: xiluhua
     3  #date: 20160626 13:09:30
     4
     5  var=$0
     6  echo $0
     7  echo ${var//.//''}

效果:

[xiluhua@vm-xiluhua][~/shell_script]$ bash -vx 1.sh
#/bin/bash
#auth: xiluhua
#date: 20160626 13:09:30
 
var=$0
+{5:}var=1.sh
echo $0
+{6:}echo 1.sh
1.sh
echo ${var//.//''}
+{7:}echo 1.sh
1.sh
原文地址:https://www.cnblogs.com/xiluhua/p/5662000.html