2014-01-26 1 views
0

Я убирал свою подсказку BASH.BASH: другой цвет для текста, введенный пользователем

В настоящее время это выглядит следующим образом:

enter image description here

Вот код:

# NOTE: OSX uses .bashprofile http://superuser.com/questions/244964/mac-os-x-bashrc-not-working 

# http://mywiki.wooledge.org/BashFAQ/037 
bold=$(tput bold || tput md) 
black=$(tput setaf 0) 
red=$(tput setaf 1) 
green=$(tput setaf 2) 
blue=$(tput setaf 4) 
white=$(tput setaf 7 || tput AF 7) 
RESET=$(tput sgr0) 

# https://github.com/sickill/stderred 
export DYLD_INSERT_LIBRARIES="/usr/lib/libstderred.dylib${DYLD_INSERT_LIBRARIES:+:$DYLD_INSERT_LIBRARIES}" 
export STDERRED_ESC_CODE="$bold$red" 

pre_prompt() 
{ 
    if [ $? = 0 ]; then 
     echo "$green ✔"; 
    else 
     echo "$red ✘"; 
    fi 

    printf "$RESET\n" 
    printf "$bold" 
    printf "%[email protected]%s ~ %s:\n" "$USER" "$HOSTNAME" "$PWD" 
    printf "$RESET" 
} 

# execs before prompt 
export PROMPT_COMMAND=pre_prompt 

# \[ ... \] --> http://mywiki.wooledge.org/BashFAQ/053 
export PS1="\[$bold$blue\] ⤐ \[$RESET$bold\]" 

export PS2="-2-> " 
export PS3="-3-> " 
export PS4="-4-> " 

Примечание Я использую супер маленький кусочек кода, sickill иметь STDERR получить напечатаны в красный.

Единственное, что я хотел бы улучшить, - это текст в стиле hilight, введенный пользователем.

Есть ли способ сделать это?

ответ

0

После вашего $RESET добавьте $bold плюс любой цветовой код, который вы хотите использовать, чтобы выделить запись в командной строке.

+0

Это не так просто, выход также будет использовать одно и то же форматирование –