Why is my PS1 breaking my prompt?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Why is my PS1 breaking my prompt?
# 1  
Old 05-31-2013
Why is my PS1 breaking my prompt?

So, this is strange... I created this prompt:

Code:
PS1='\n\e[32;40m${debian_chroot:+($debian_chroot)}\u@\h:\w : \j job(s)\n\@\$ \e[0m'

You can see that it's a pretty minor modification of the default Debian prompt. And, if it matters, I'm using Putty to SSH to my server. The following strange symptoms appear when I use that prompt, and disappear when I change and source to the default:

1) If I type 16 or more characters at the command line, the first 4 get "stuck". Please pardon me if this isn't clear... it's a little odd to describe. Suppose I type "abcdefghijklmnop". If I then hit ^A to return to the start of the line, my cursor ends up on the "e", not the "a". Nothing I do can move it to a, b, c, or d. Not back-arrow, not backspace, nothing.

2) If I up-arrow to review history, at some point the first 4 characters of a previous command will get stuck in the same way. After that, all the prior commands are appended to those stuck characters. The commands still work, though. For example, "ll /crontab -e" brought up the crontab editor properly, so apparently those first 4 are ignored for this purpose.

Any thoughts? Many thanks in advance.
# 2  
Old 05-31-2013
It may count escape sequences as part of the string's length, and so assume it's longer than it actually is when printed.
This User Gave Thanks to Corona688 For This Post:
# 3  
Old 05-31-2013
Quote:
Originally Posted by Corona688
It may count escape sequences as part of the string's length, and so assume it's longer than it actually is when printed.
That's a helpful hint. I tried removing different options. Removing the color option fixed the problem. So, I tried using separate color tags for the first and second lines. The problem came back, and worse-- now it's ~10 chars that are "fixed" at the beginning of the line, in keeping with the longer escaped sequences. So, no solution, but a little reworking made the prompt just as informative, and with no strange problem, albeit at the cost of a very boring little pound sign. :-) Many thanks.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Help changing the PS1 prompt in Solaris

Hi, I need help changing PS1 in Solaris. I tried this: MYPROMPT="> " PS1=$LOGNAME@$HOSTNAME:${PWD}$MYPROMPT (NOT SURE WHY IT'S HIGHLIGHTED HERE) export PS1 My problem is that $PWD is not working, when I get the prompt and I change directories, the prompt is not displaying the current... (17 Replies)
Discussion started by: curiousmal
17 Replies

2. UNIX for Dummies Questions & Answers

Need to revert default prompt in Linux after setting PS1 command

I have given as: PS1="Karthick>" in linux. Now the prompt changed as: Karthick> Now I need to get back the default prompt . How to achieve this? Thanks in advance (13 Replies)
Discussion started by: karthick nath
13 Replies

3. UNIX for Dummies Questions & Answers

PS1 (Prompt character) appearing in cat output

RedHat Linux 5.8/Korn Shell I have text file name /etc/oracle/config.loc. It has the following text #Device/file getting replaced by device +OCR ocrconfig_loc=+DATA ocrmirrorconfig_loc=+OCRBut , when I open this file using cat , the PS1 character (for prompt) appears as the last character... (8 Replies)
Discussion started by: omega3
8 Replies

4. Shell Programming and Scripting

Change / Setup bash custom prompt (PS1)

I am trying to create my custom prompt and I have almost succeeded. Right now I have PS1='\n\\$\ ' What I have not figured out is how to make the directories bold when I'm using commands ls or ls -la. Any idea how to do it??? Many thanx. (2 Replies)
Discussion started by: emailkia
2 Replies

5. Shell Programming and Scripting

Ksh93 vs. Pdksh88: Custom PS1 prompt not working

Greetings! I have to work with a NFS user id between two hosts: A running Ksh 93 and B running pdksh 88. My problem has to do with the custom prompt I created on A: it works like a charm and display colors: PS1="$'\E But I switch over to B, it all goes to hell (private info... (4 Replies)
Discussion started by: alan
4 Replies

6. Shell Programming and Scripting

How to get a Prompt (PS1) Timestamp under /sbin/sh?

Hi, I'm trying to find out if there is a way to get a timestamp on my Solaris root shell prompt using /sbin/sh? I'm trying to archive something in line with the following: 12:34:26 root@server # 12:34:28 root@server # 12:34:28 root@server # ls ... 12:34:30 root@server # I know there... (1 Reply)
Discussion started by: Solarius
1 Replies

7. Shell Programming and Scripting

Help setting PS1 prompt to include current time

Hi, I'm using the ksh shell and I'd like to set my PS1 prompt on an AIX system to include, amongst ther things, the current time. This was my best effort: export PS1=$(date -u +%R)'${ME}:${PWD}# ' but this only sets the time to the value when PS1 is defined and the time value doesn't... (4 Replies)
Discussion started by: m223464
4 Replies

8. UNIX for Dummies Questions & Answers

PS1 prompt

please advise what's wrong with this command ? PS1="`hostname`:`who am i | cut -d " " -f1`:>>" trying to make the PS1 prompt look like : machine_name:username:>> thank you (4 Replies)
Discussion started by: venhart
4 Replies

9. UNIX for Dummies Questions & Answers

colors in Prompt - $PS1

would someone please explain in detail, how does the code below change the color or bash prompt $ echo $PS1 :\033 are there other tricks like above? (3 Replies)
Discussion started by: rakeshou
3 Replies

10. Shell Programming and Scripting

PS1 with date stamp included in prompt

How would I put the date within my PS1 command for my shell prompt? I have it set to: PS1='$>' I tried PS1='$>' but that didn't work. (7 Replies)
Discussion started by: kymberm
7 Replies
Login or Register to Ask a Question