Предопределить цвета для Терминала?

Я пытался помнить, как я мог предопределить цвета в .bashrc файл, таким образом, к ним можно было обратиться, когда я делаю ${RED} например.

Я не могу помнить, было ли это правильным способом сделать его, но это было что-то вроде этого, если я могу помнить;

NC="\033[0;0;0m"      # no color or formatting
RED="\033[1;49;91m"   # color red
BLU="\033[1;49;94m"   # color blue
GRN="\033[1;49;32m"   # color green

другой, которого я вспоминаю, использовал function таким образом, это могло быть использование в любое время где угодно. У меня действительно был файл, показывающий мне, как сделать это, но я потерял этот файл, который показал, как сделать это, и я не могу помнить, как он идет.

13
задан 1 March 2015 в 07:39

3 ответа

Можно определить функцию в Вашем ~/.bashrc следующим образом

showred(){
    export RED='\033[1;49;91m'
    export NC='\033[0;0;0m'
    echo -e $RED"$@"$NC
}

Источник ~/.bashrc как . ~/.bashrc или откройте новый терминал и попытку.

enter image description here

Также можно записать в цветах при записи чего-то на терминальном использовании echo или printf как после,

enter image description here

12
ответ дан 23 November 2019 в 03:18
declare -r RED='\033[0;31m'
declare -r GREEN='\033[0;32m'
declare -r NC='\033[0m'
4
ответ дан 23 November 2019 в 03:18

Вы, возможно, видели $'...' синтаксис, который заставляет оболочку интерпретировать последовательности обратной косой черты:

NC=$'\e[0m'       # no color or formatting
RED=$'\e[1;31m'   # color red
GRN=$'\e[1;32m'   # color green
BLU=$'\e[1;34m'   # color blue

Другой способ сделать это, с помощью tput:

NC=$(tput sgr0)                  # no color or formatting
RED=$(tput bold; tput setaf 1)   # color red
GRN=$(tput bold; tput setaf 2)   # color green
BLU=$(tput bold; tput setaf 4)   # color blue

Можно объединить их с функциями обертки в ответе souravc; Вам не будет нужно -e.

3
ответ дан 23 November 2019 в 03:18

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

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