Просматривать результаты последней команды в Bash довольно сложно, потому что командная строка и результаты одного цвета. Это затрудняет разделение результатов последовательных команд.
Как мне изменить цвет на розовый например?
Просматривать результаты последней команды в Bash довольно сложно, потому что командная строка и результаты одного цвета. Это затрудняет разделение результатов последовательных команд.
Как мне изменить цвет на розовый например?
@Rob прав; в частности, чтобы изменить на светло-красный (розовый не доступен цвет):
PS1 = "\[\033[1;31m\]\u:\w\$\[\033[0m\] "
# ^^^^^^^ ^^ Begin/end ANSI escape
# ^^^^^ "light red foreground"
# ^^^^^^^ Your original prompt
# ^^^^^^^^^^^ Reset color back to default foreground
Вам необходимо использовать escape-последовательности ANSI (в данном случае 1;31m
, код «светло-красный передний план»), которые заключены в \[\033[
и \]
.
Изменить: светло-фиолетовый может быть ближе к желаемому цвету; изменение PS1
оставлено в качестве упражнения для читателя.
Если вам нужно альтернативное решение, вы можете создать небольшой скрипт для установки цветов PS1 терминала в сеансе, не делая их постоянными (если вы не хотите, чтобы постоянные цвета следовали решению Алекса).
Если мы создадим yellow.sh
и сохраним в каталог /usr/bin
, а затем сделаем файл исполняемым с помощью chmod +x yellow.sh
мы можем затем отредактировать yellow.sh
и добавить следующий код:
#!/bin/bash
clear
# Yellow color variable
ylw='\x1b[93m'
echo -e "${ylw}"
clear
Запуск этого скрипта изменит цвет вашего терминала на желтый. Вы можете сбросить цвет PS1 таким же образом, используя этот код:
#!/bin/bash
clear
# Reset color to default
rst='\x1b[0m'
echo -e "${rst}"
clear
Вот краткий список некоторых переменных цветового кода, которые вы можете использовать.
black=$'\x1b[90m' # Dark gray. Not used much.
red=$'\x1b[91m'
green=$'\x1b[92m'
yellow=$'\x1b[93m'
blue=$'\x1b[94m'
purple=$'\x1b[95m'
cyan=$'\x1b[96m'
pink=$'\x1b[97m'
default=$'\x1b[0m' # Reset to default color.
Использование для общих команд внутри простых скриптов:
echo -e "${red} $(ls $1) ${default}" # Argument would be the directory you want to list.
Это можно сделать довольно быстро, в зависимости от того, как вы настроили свои цвета. Цветовые коды, которые я предоставил, не все. В зависимости от того, какие цвета поддерживает ваш терминал, вы можете использовать диапазон из 256 цветов.