get_color()
{
local color=$[RANDOM%4+32]
if [ "$color" == "34" ]; then
local color=36
fi
echo $color
}
get_df(){
avail=$(df -h /usr1 | grep usr1 | awk '{print $4}')
echo $avail
}
export PS1='\[\e[$(get_color)m\]\u\[\e[0m\]@\[\e[$(get_color)m\]300.667.313.717\[\e[0m\]\[\e[$(get_color)m\] $(get_df) \[\e[0m\]\[\e[$(get_color)m\]\w> \[\e[0m\]'
注:在bash中,所有在PS1中的非打印字符都必须用’[]'(不包括引号)将其包围起来,否则在计算提示符长度时也会将其计算在内,导致其无法正确地换行,也就出现了回到行首的情况