Повечето Linux дистрибуции конфигурират баш прозореца, за да изглеждат нещо подобно потребителско име @ име на хост: директория $
, Но можете да конфигурирате баш прозореца да съдържа всичко, което ви харесва, и дори да изберете какви цветове искате.
Примерните стъпки тук бяха извършени на Ubuntu 16.04 LTS. Процесът трябва да е еднакъв за другите дистрибуции на Linux, въпреки че подразбиращият се Bash промпт и настройките във файла .bashrc може да са малко по-различни.
Вашата конфигурация на промпта за Bash се съхранява във файла .bashrc на вашия потребителски акаунт, който е в ~ / .Bashrc
, Така че, ако вашето потребителско име е bob, файлът е в /home/bob/.bashrc
.
Можете да отворите файла, за да видите текущата променлива Bash. Ще използваме нано като пример за текстов редактор, въпреки че бихте могли да използвате и vi, emacs или друг текстов редактор, с който се чувствате добре. Отворете терминал и изпълнете:
nano ~ / .bashrc
Превъртете надолу до PS1 =
секция. Първата променлива изглежда доста сложна, защото съдържа цветна информация - ще я обясним по-късно. Втората променлива, без цветна информация, гласи следното:
$ Debian_chroot: + ($ debian_chroot) \ ф @ \ ч \ т \ $
Това все още е малко сложно поради $ Debian_chroot: + ($ debian_chroot)
бита. Те просто казват на Баш да ви уведоми, ако използвате среда на Debian chroot и обикновено няма да се показва. Пренебрегвайки тези, тук е структурата по подразбиране на променливата Bash prompt:
\ Ф @ \ ч: \ w \ $
\ ф
показва потребителското ви име, @
показва знака @, \ ч
показва името на хоста (името на компютъра), :
показва знака: \ w
показва работната директория и \$
показва $, ако сте обикновен потребителски профил или # ако сте корен. Така че, слагайки всичко това заедно, ще получите потребителско име @ име на хост: working_directory $
.
За да промените Вашия Bash подкана, просто трябва да добавите, премахнете или пренаредите специалните символи в променливата PS1. Но има много повече променливи, които можете да използвате, отколкото тези по подразбиране.
Оставете текстовия редактор за сега в нано, натиснете Ctrl + X, за да излезете. Ще ви покажем как да експериментирате с променливи, преди да внесете нова в своя .bashrc файл.
Вашата конфигурация на промпта за Bash се съхранява в променливата PS1. За да запазите съдържанието на променливата PS1 в нова променлива, изпълнете следната команда:
DEFAULT = $ PS1
Вече можете да настроите променливата PS1 на различни стойности, за да експериментирате. Например, първият ред тук ще зададе подканата ви до основния прозорец "user $", а втория ще зададе подканата ви до основния прозорец "user: working_directory $".
PS1 = "\ u \ $" PS1 = "\ u: \ w \ $"
Ако някога искате да се върнете към подкана по подразбиране, просто изпълнете следната команда.
PS1 = $ DEFAULT
Баш ще бъде възстановен до подразбиращия се промпт, благодарение на факта, че сте записали по-рано тези настройки по подразбиране. Обърнете внимание, че промените, които направите тук, са само временни за текущата сесия на Bash, така че винаги можете да излезете и да влезете или да затворите и да отворите отново прозореца на терминала, за да се върнете към подканата по подразбиране. Но горепосочената линия позволява лесно да се върнете към подразбиращия се Bash подкана, без да се налага да се отказвате или да затваряте прозорец.
Можете да добавите към променливата знаци или текст. За да предложите подкана по подразбиране с "Hello World", можете да използвате:
PS1 = "Здравей свят \ u @ \ h: \ w \ $"
Сега, когато имате основите, просто трябва да знаете какви са специалните герои. Вероятно няма да ви е грижа за много от тях, но тук е пълният списък, както се появява в ръководството Баш:
\ а
\д
\ D формат
\ д
\ ч
\ Н
\ й
\ л
\ Н
\ R
\с
\T
\T
\@
\ A
\ ф
\ о
\ V
\ w
\ W
\!
\#
\$
\ NNN
\\
\[
\]
Така че, ако искате да добавите датата и часа към Вашия Bash промпт и да поставите работната директория на команда на втора линия, можете да използвате следната конструкция:
PS1 = "[\ d \ t] \ u @ \ h \ n \ w \ $"
Квадратните скоби тук изобщо не са необходими, но ви помагат да разкъсате нещата визуално и да направите линията по-лесна за четене. Както вече споменахме, можете да добавите текст или нормални знаци към променливата, която харесвате, така че се чувствайте свободни да използвате каквото и да работи за вас.
Има още един мощен трик, за който трябва да знаете: Можете да добавите изхода на всяка команда към подканата. Когато се появи подкана, Баш ще изпълни командата и ще попълни текущата информация. За да направите това, просто включете команда, която искате да стартирате между две '
знаци. Това не е апостроф - това е сериозният акцент, който се появява над клавиша Tab на вашата клавиатура.
Например, да речем, че искате да видите версията на ядрото на Linux в подканата. Можете да използвате линия като следното:
PS1 = "\ u @ \ h на" uname -s -r "\ w \ $"
Като друг пример, да речем, че искате да видите средната продължителност на работа на системата и натоварването, както е показано от непрекъсната работа
команда. Можете да използвате следната конструкция, която поставя ъптайм на собствената си линия преди останалата част от подканата.
PS1 = "(" време за работа ") \ n \ u @ \ h: \ w $"
Чувствайте се свободни да експериментирате с различни специални знаци и команди, за да съберете идеалния команден ред.
След като разберете предпочитания от вас подкана, можете да добавите цветове към него. Това всъщност е много проста, но прави променливата изглежда ужасно объркана и сложна, ако не разбирате какво гледате.
Например променливата по подразбиране за променливата на цвета от предишната е:
$ Debian_chroot: + ($ debian_chroot) \ [\ 033 [01; 32метра \] \ ф @ \ ч \ [\ 033 [00 м \] \ [\ 033 [01, тридесет и четири милиона метър \] \ т \ [\ 033 [00 м \] \ $
Или премахване на битовете debian_chroot още веднъж:
\ [\ 033 [01; 32м \] \ ф @ \ ч \ [\ 033 [00 м \] \ [\ 033 [01, 34 метра \] \ т \ [\ 033 [00 м \] \ $
Това всъщност е само \ Ф @ \ ч: \ w $
променлива от по-ранна, но с цветна информация. Наистина, можем да го разделим на няколко секции:
\ [\ 033 [01, тридесет и две m \]\ Ф @ \ ч \ [\ 033 [00 м \]: \ [\ 033 [01, тридесет и четири милиона m \]\ w \ [\ 033 [00 м \]\$
Първият раздел е \ Ф @ \ ч
битов, предхождан от цветна информация, която го превръща в зелена. Втората е :
знак, предхождан от информация за цвета, която премахва оцветяването. Третият е \ w
битова, предшествана от цветна информация, която я превръща в синьо. Четвъртият е \$
битов, предхождан от цветна информация, която премахва оцветяването.
След като разберете как да създавате свои собствени цветови маркери, можете да добавяте какви цветове ви харесват към секциите на Вашия баш прозорец, които харесвате.
Ето какво трябва да знаете: Трябва да включите цялата информация за цветовия код между\[
и \]
с. Вътре в етикета трябва да започнете и с двете \033[
или \ Д [
за да покаже на Баш, че това е цветна информация. И двете \033[
и \ Д [
правете същото. \ Д [
е по-кратък, така че може да е по-удобно за използване, но ще използваме \033[
тук, тъй като тя съответства на това, което е използвано по подразбиране. В края на маркера трябва да завършите м \
за да посочите края на цветния етикет.
Като го разрушите, ето какво ще изглежда всеки цветен маркер. Единствената разлика е информацията, която добавяте вместо COLOUR, за да определите действителния цвят:
\[\033[ЦВЯТт \]
Баш ви позволява да промените цвета на текста на изходния текст, да добавите към текста атрибути като "удебелен" или "подчертан" и да зададете цвят на фона.
Ето стойностите за текста в преден план:
Например, тъй като пурпурният текст е цветен код 32, бихте го използвали \[\033[32т \]
за пурпурен текст.
Можете също да зададете атрибут за текста. Този атрибут трябва да се добави преди номера на цвета, разделен с точка и запетая (;). Текстът с тези атрибути ще изглежда различно в различните терминални емулатори.
Ето стойностите за текстовите атрибути:
Всъщност не е необходимо да включвате атрибута за нормален текст. Това е по подразбиране, така или иначе.
Например, тъй като червеният текст е код 31 и смел текст е код 1, бихте го използвали \[\033[1;31т \]
за смел червен текст.
Можете също така да зададете цвят на фона, но не можете да добавите атрибут към цвета на фона.
Ето стойностите за цветовете на фона:
Например, тъй като син фон е код 44, \[\033[44т \]
ще определи син фон.
Можете да посочите както знака за цвета на преден план, така и за фон. Например, 42 представлява зелен фон и 31 представлява червен текст. Така че, за да накарате подканата по подразбиране да стане червен текст на зелен фон, трябва да използвате:
PS1 = "\ [\ 033 [42т \] \ [\ 033 [31m \] \ u @ \ h: \ w \ $ "
Просто посочваме един цвят на фона, а след това и един цвят на текста в преден план тук, който започва в началото на промпта и се прилага към целия текст в подкана.Въпреки това, можете да зададете колкото се може повече цветни маркери, колкото искате в променливата, за да оцветявате различни секции от подканата, колкото искате.
Фонът и цветовете на текста в преден план продължават да преминават през промпта, освен ако не посочите цветови код 00, изчистете цветната информация. Можете също да използвате този маркер в променливата, за да възстановите форматирането обратно на подразбиране някъде в подканата. Например, следващият ред ще прекрати всички оцветявания преди \$
характер.
PS1 = "\ [\ 033 [42т \] \ [\ 033 [31т \] \ ф @ \ ч \ т \ [\ 033 [00m \] \ $ "
След като завършите експериментирането с цветове, трябва да имате баш прозорец, който искате в текущата сесия. Но най-вероятно искате да направите това ново напомняне постоянно, така че да се използва автоматично във всичките ви сесии Bash.
За да направите това, трябва просто да промените съдържанието на променливата PS1 във файла .bashrc, който разгледахме по-рано.
Отворете файла .bashrc в предпочитания текстов редактор, както е така:
nano ~ / .bashrc
Превъртете надолу и намерете секцията PS1 =. Просто заменете променливата по подразбиране с персонализираната си променлива. Вероятно ще искате да напуснете $ Debian_chroot: + ($ debian_chroot)
само бита - те няма да се появят, освен ако не сте в среда с хроат, така или иначе.
Въведете цветната PS1 променлива под ако ["$ color_prompt" = yes); тогава
линия. Въведете променливата без цветове под още
линия.
Запишете файла и затворете текстовия редактор. Например, за да запазите файла в нано, натиснете Ctrl + O, натиснете Enter и след това натиснете Ctrl + X, за да излезете.
Следващият път, когато стартирате нова shell Bash - например, като влезете в терминала или като отворите нов терминален прозорец - ще видите персонализирания си подкана.