-3

I would like to learn how to make my shell look like this:

[user@host ~/Folder]
$

instead of (the default):

[user@host ~/Folder]$.

Also, I'd like to have color on user@host and Folder. How can I do this?

Note: This prompt is my model.

1 Answers1

0

Here's a script that I personally use:

###
### Set the prompting to my liking
###

    # Save the old prompt

OLD_PS1="$PS1"

    # Put the "non-printing" characters between \[ and \] for the prompt so
    #  that the shell can properly determine the length of the prompt.

if [ -z "$TERM" ] || [ "$TERM" = "dumb" ]
then
    BOLD=""
    NORM=""
    BLUE=""
    BLACK=""
    RED=""
else
    BOLD="\\[$(tput bold)\\]"
    NORM="\\[$(tput sgr0)\\]"
    BLUE="\\[$(tput setf 1)\\]"
    BLACK="\\[$(tput setf 0)\\]"
    RED="\\[$(tput setf 4)\\]"
fi

PS1="$NORM"'\n'"$BOLD"'\w'"$NORM"'\n'"$BLUE"'\u@\h, $?>'"$NORM"' '

    # For use with set_prompt_comment:
BASE_PS1="$PS1"


##
##
##

set_prompt_comment ()
{
    typeset comments

    if [ -z "$BASE_PS1" ]
    then
        echo "Need BASE_PS1 to be defined to proceed!" >&2
    else
        comments="$*"

        if [ -z "$comments" ]
        then
            PS1="$BASE_PS1"
        else
            PS1="\\n${RED}${comments}${BASE_PS1}"
        fi
    fi
}

Working with this, the following may give what you want:

PS1="[${RED}user@host${NORM} ${BLUE}~/Folder${NORM}]\\n$ "
ash
  • 7,260