SCIENTIFIC-LINUX-USERS Archives

November 2017

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Reply To:
Date:
Fri, 10 Nov 2017 19:41:17 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (56 lines)
On 2017-11-10 19:15, Steven Haigh wrote:
> On Saturday, 11 November 2017 1:48:23 PM AEDT jdow wrote:
>> On 2017-11-10 16:38, ToddAndMargo wrote:
>>> On 11/10/2017 04:21 PM, jdow wrote:
>>>> On 2017-11-10 15:14, ToddAndMargo wrote:
>>>>> Dear List,
>>>>>
>>>>> Ever cat a binary file by accident and your
>>>>> terminal gets all screwed up.
>>>>>
>>>>> I had a developer on the Perl 6 chat line give me
>>>>> a tip on how to unscrew your terminal and set it
>>>>> back to normal.  (He way helping me do a binary
>>>>> read from the keyboard.)
>>>>>
>>>>> stty sane^j
>>>>>
>>>>> Note: it is <ctr><J>, not "enter".
>>>>>
>>>>> -T
>>>>
>>>> Make "\033]0;" the first bit of your prompt. Never worry about it again.
>>>>
>>>> ESC-0 sets the terminal to have no attribute bits set. So it clears funny
>>>> display. I've had that as a standard part of my prompts for decades, even
>>>> back in the CP/M days.
>>>> {^_^}   Joanne
>>>
>>> Sweet!
>>
>> Here is what I have in my .bash_profile file:
>>
>>
>> if [ "$PS1" ]; then
>>     # extra [ in front of \u unconfuses confused Linux VT parser
>>     PS1="\e[0 [[\\u@\\h:\\l \\w]\\$ "
>> fi
> 
> For what its worth, I've been using this for years:
> PS1="\[\033[01;37m\]\$? \$(if [[ \$? == 0 ]]; then echo \"\[\033[01;32m\]
> \342\234\223\"; else echo \"\[\033[01;31m\]\342\234\227\"; fi) $(if [[ ${EUID}
> == 0 ]]; then echo '\[\033[01;31m\]\h'; else echo '\[\033[01;32m\]\u@\h'; fi)\
> [\033[01;34m\] \w \$\[\033[00m\] "
> 
> Stick it all on one line. Add the \e[0 in front, and that'd be pretty cool :)

So I went through some documentation. Now I am back up to speed for ANSI escape 
sequences and the theoretical interaction of PROMPT_COMMAND and PS1. 
PROMPT_COMMAND is run then PS1 is displayed. PROMPT_COMMAND already has the \e0m 
in it. \e is bash for escape. There is a list of the things in man bash, of course.
"\e[0m[\\u@\\h: \\w]\\$ " is what I should have used. The m makes it do its 
thing. Gawd it's a long time since I did something with VT commands directly. It 
all leaked out! Don't get old.

{^_^}

ATOM RSS1 RSS2