Как изменить цвета в приглашении bash [дубликат]

Я следовал инструкциям здесь и в ссылке howto, которая там приведена. Однако нигде не сказано, как я могу изменить цвета различных частей, потому что сейчас я установил:

PS1='${debian_chroot:+($debian_chroot)}[\t] \u@\h:\w\$ '

Но текст все еще белый, как я могу сделать цифры времени зелеными, а имя пользователя и имя компьютера светло-голубыми? Я использую Ubuntu GNOME 15.04.

8
задан 21 September 2015 в 00:08

2 ответа

В первую очередь, откройте свой ~/.bashrc файл и включите цветные подсказки:

nano ~/.bashrc

не прокомментируйте затем строку #force_color_prompt=yes

Затем измените строку PS1 непосредственно под строкой if [ "$color_prompt" = yes ]; then

кому:

PS1='${debian_chroot:+($debian_chroot)}\[\033[00;32m\][\t] \[\033[01;34m\]\u@\h:\w\$ '  

Как Вы видите, 01:34m является голубым, и 00:32m является зеленым. Светло-зеленый был бы 01:32m вместо 00:32m.

Нажмите CTRL + o и затем нажмите ENTER, чтобы сохранить файл. Нажмите CTRL + x для выхода из нано.

Затем выполните следующую команду для применения изменений путем "определения источника" bashrc файла:

. ~/.bashrc

Изменения должны теперь относиться к каждому недавно открытому терминалу при Вашем пользователе.

щелкните здесь для большего количества информации

12
ответ дан 21 September 2015 в 10:08
  • 1
    Я не забываю возобновлять загрузки с IDM, как только он перестал работать и не мог возобновиться, вот почему я попросил некоторым образом делать то же с uGet. It' s не необходимый банкомат. – Muhammad Dilshad 31 December 2016 в 20:30

Вот тот, что мой друг и я продолжали работать. Это дает серую пунктирную линию, когда Вы - обычный пользователь, затем при выполнении команд как пользователь root это изменяется на красный и для пунктирной линии и для текста.

enter image description here

В Вашем .bashrc файл, добавляет следующий код к нижней части файла:

if [ -f "$HOME/.bash_ps1" ]; then
    . "$HOME/.bash_ps1"
fi

Править: Кроме того, добавьте его к нижней части /root/.bashrc также. Это для того, если Вы переключаетесь на root пользователь путем выдачи команды sudo su -. (Остальная часть редактирования продолжена ниже кода),

Затем копия и остальная часть вставки этого кода в новый названный файл /home/<username>/.bash_ps1

# Fill with minuses
# (this is recalculated every time the prompt is shown in function prompt_command):
fill="--- "

reset_style='\[\033[00m\]'

# determine if root or not
a=$(id|awk -F\( '{print $1}')
if [ "$a" = "uid=0" ]
then
    # for root
    status_style=$reset_style'\[\033[1;31m\]' # bold red; use 0;37m for lighter color
    command_style=$reset_style'\[\033[1;31m\]' # bold red
else
    # for other users
    status_style=$reset_style'\[\033[0;90m\]' # gray color; use 0;37m for lighter color
    command_style=$reset_style'\[\033[1;29m\]' # bold black
fi
prompt_style=$reset_style

# Prompt variable:

PS1="$status_style"'$fill $(date +"%m/%d/%y ")\t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\u@\h:\w\$'"$command_style "

# Reset color for command output
# (this one is invoked every time before a command is executed):
trap 'echo -ne "\033[00m"' DEBUG

function prompt_command {
# create a $fill of all screen width minus the time string and a space:
let fillsize=${COLUMNS}-18
fill=""
while [ "$fillsize" -gt "0" ]
do
    fill="-${fill}" # fill with underscores to work on
    let fillsize=${fillsize}-1
done

# If this is an xterm set the title to user@host:dir
case "$TERM" in
    xterm*|rxvt*)
    bname=$(basename "${PWD/$HOME/~}")
    echo -ne "\033]0;${bname}: ${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"
    ;;
    *)
    ;;
esac
}

PROMPT_COMMAND=prompt_command

РЕДАКТИРОВАНИЕ (Часть 2): Теперь создайте ссылку на .bash_ps1 в Вашем /root папка

sudo -s
cd /root
ln -s /home/<username>/.bash_ps1

Можно изменить любой вышеупомянутый код для установки потребностям. Это - то, которое я использую на самом деле на работе так, чтобы я знал, ввожу ли я в командах как a root пользователь, который мог быть потенциально опасным. Плюс, метка времени появляется чуть выше каждой строки, которую Вы вводите, делая ее немного легче, если Вы прокручиваете назад для наблюдения, когда Вы ввели в той команде.

Надо надеяться, это помогает!

10
ответ дан 21 September 2015 в 10:08
  • 1
    Возможно сделать так в некоторых случаях, и большую часть времени это автоматически инициируется через " Runnable" состояние. – Michael Tunnell 31 December 2016 в 21:05

Другие вопросы по тегам:

Похожие вопросы: