[arch-general] bash variable PS1 confuses the terminal somehow
bfsc.yb at gmail.com
bfsc.yb at gmail.com
Wed Sep 28 09:22:32 EDT 2011
13 PROMPT_COMMAND='
14 if (($?)); then
15 warn="^[[31mWARNING^[[m"
16 else
17 warn=
18 fi
19 date=`date`
20 PS1="^[[s^[[$(($COLUMNS-28))C^[[0;33m$date^[[u^[[0;31m$warn^[[0;32m[^[[1;33m\u^[[0;32m@^[[1;36m\w^[[0;32m]\$^[[m"
21 '
i'm using this PROMPT_COMMAND to set PS1 everytime it is played, it seems to work perfectly except later i found a strange behavior of the terminal, both in xterm under X and agetty under the console. for example, when under the console, i found the terminal column indicated by the bash variable $COLUMNS is 160, however, when i type some command about 50 characters long, the line which i'm typing wraps to the begining, and destroys what i typed earlier, this makes typing long commands really difficult...and everything is just fine when i just set the PS1 variable to a very simple value without escape sequences.
anyone knows how to fix this?
More information about the arch-general
mailing list