Linux Lite Forums
Development => Scripting and Bash => Topic started by: jacatone on August 30, 2015, 04:13:56 AM
-
I'm using color in my bash shell but can't get the text to drop to the next line below. Could someone tell me what's wrong here?
export PS1="\[\e[1;31m[\u@\h \W]\$ \e[m "
-
I'm using color in my bash shell but can't get the text to drop to the next line below. Could someone tell me what's wrong here?
export PS1="\[\e[1;31m[\u@\h \W]\$ \e[m "
If you want to move the prompt sse the \n switch at the end
export PS1="\e[1;31m[\u@\h \W]\$ \e[m \n"
-
Actually, I meant after the $ sign then drop down below to the next line like it would if I didn't add any color.
jacatone@Dell-4550:~$ 64dfg646df4g654fg654d6fg64fd64g6fd4g64fd64g6df4g6fd
5g64fd64g665df4g646sd465464ds646d5f4
-
Oh, sorry mate. I was too tired last night. :)
Let's see...
The colors aren't properly escaped.
Variable expansion and the \[ \] escapes around them make them not count as character positions and the cursor position is not wrong.
This is the proper way to do it:
\[\e[1;31m\]foo
or
\[\e[1;31m\]\[$variable\]
If you want to set it up like this
jacatone@Dell-4550:~$ command...
export PS1="\[\e[1;31m\]\[\u@\h:\w\$\] \[\e[0m\] "
You could also set it in two colors
jacatone@Dell-4550: ~$
export PS1="\[\e[1;31m\]\[\u@\h\] \[\e[0;32m\]\[\W\$\] \[\e[0m\] "
From your first example I thought you were going to use the [ ] brackets:
[jacatone@Dell-4550~]$
export PS1="\[\e[1;31m\][\u@\h\w]\$ \[\e[0m\] "
-
Ah, it's getting there. It now types over anything added to the second drop down line rather than just continuing on.
jacatone@Dell-4550 ~$ 54df5dddddddddddddddddddddddddddddddddddddddddddddddddddd
222222dddddddddddddd
should be,
jacatone@Dell-4550 ~$ 54df5dddddddddddddddddddddddddddddddddddddddddddddddddddd
dddddddddddddd222222
-
For references go to
http://shengchieh.50webs.com/tuxslinks.html#Console%20Commands
Look at scripts???
Sheng-Chieh