Kā pielāgot komandu uzvedni bash

Bash apvalkā komandu uzvedne ir teksts, kas tiek parādīts, kad tiek prasīts ievadīt. Vairumā sistēmu tas izskatās šādi:

Uzvednē var ievadīt informāciju, pirms palaižat kādas komandas. Piemēram, iepriekš minētais uzvedums parāda jums sekojošo.

  1. kas jūs esat (lietotājs, kuram ir lietotājs )
  2. kur esat (dators ar nosaukumu myhost )
  3. kāds ir jūsu darba katalogs ( ~, kas ir jūsu mājas direktorijas saīsinājums)

Iespējams, vissvarīgākais ir dolāra zīme (" $ "), kas ir īpaša rakstzīme, kas norāda, ka esat pieteicies kā ne-root lietotājs. Ja jūs pašlaik esat pieteicies kā sakne, šī rakstzīme vietā būtu mārciņa zīme (" # ").

Rindu, kas attēlo uzvedni, saglabā īpašajā vides mainīgajā nosaukumā PS1 . Iepriekš redzamajā uzvednē tās vērtība izskatās šādi.

 "E-pasts aizsargāts] h: W $" 

Šajā virknē ir četras īpašas rakstzīmes: u, h, W, $ . Tās ir izbēgušas rakstzīmju sekvences, kas tiek aizstātas ar faktiskajām vērtībām ikreiz, kad tiek parādīts uzvedne.

Īpašas rakstzīmes

Tālāk redzamajā tabulā norādītās īpašo rakstzīmju secības var izmantot bash apvalka uzvednē.

Rakstzīmju secībaTulko
a"Trauksmes" raksturs. Ieslēdz skaņas signālu vai ekrānu
dPašreizējais datums, kas parādīts formātā Weekday Month Date ( nedēļas datums) (piem., Trešdien, 13. maijā ).
D { formāts }Pašreizējais datums un laiks tiek parādīts atbilstoši formātam, kā to interpretē strftime . Ja formāts ir izlaists, D {} parāda pašreizējo 12 stundu AM / PM laiku (piem., 07:23:01 PM ).
eIzbēgšanas raksturs (ASCII 27)
e [ skaits mApzīmē sekvences sākumu, lai parādītu krāsu, kur numurs ir skaitlis vai ciparu pāris, kas norāda, kāda krāsa un stils jāizmanto. Skatiet tālāk krāsu sarakstu un to skaitu.
e [mApzīmē sekvences beigas, lai parādītu krāsu.
hMašīnas saimniekdators, līdz pirmajam " . " Piemēram, ja sistēmas resursdators ir myhost.mydomain, h parāda myhost
HPilns iekārtas saimniekdators.
jDarbu skaits, ko pārvalda apvalks.
lKorpusa gala ierīces identifikators, parasti viencipara numurs.
nJauna līnija
rRakstatgriezes
sKorpusa nosaukums (tā procesa pamatnosaukums, kas uzsāka pašreizējo bash sesiju).
\ tPašreizējais laiks, kas parādīts 24 stundu HH: MM: SS formātā (piem., 19:23:01 ).
TPašreizējais laiks, kas parādīts 12 stundu HH: MM: SS formātā (piem., 07:23:01 ).
@Pašreizējais laiks, kas parādīts 12 stundu HH: MM: SS AM / PM formātā (piem., 07:23:01 PM ).
APašreizējais laiks 24 stundu HH: MM formātā (piem., 19:23 ).
uPašreizējā lietotāja lietotājvārds.
vBash versijas numurs (piem., 4.3. ).
VBash versija un plāksteris (piem., 4.3.30 ).
wPašreizējais katalogs. Lietotāja mājas katalogs tiek saīsināts kā tilde (" ~ "). Piemēram, / usr / bin, ~ vai ~ / dokumenti
WPašreizējā darba direktorija nosaukums (piemēram, bin, ~ vai dokumenti ).
!Pašreizējās komandas vēstures numurs.
#Pašreizējās komandas numurs (komandu numuri ir kā vēstures numuri, bet, kad sākat jaunu bash sesiju, tiek atiestatīti uz nulli).
nnnASCII rakstzīme, kuras astotā vērtība ir nnn.
\ TBackslash
[Atzīmē jebkura nespiediena rakstzīmju secības sākumu, piemēram, termināla vadības kodus.
\ TAtzīmē nesagatavošanas secības beigas.
$Drukā #, ja UID ir nulle (superuser), vai $, ja tas ir lielāks par nulli (kāds cits).

Pašreizējās sesijas uzvednes maiņa

PS1 vides mainīgo var iestatīt kā jebkuru citu mainīgo, kas norādīts bash, ar paziņojuma veidlapu NAME = VALUE . Tātad, lai iestatītu standarta uzvedni, komandu rindā varat ierakstīt tālāk norādīto.

 PS1 = "aizsargāts ar e-pastu] h: W $" 

... Un jūsu uzvedne nekavējoties mainīsies. Atzīmējiet galīgo vietu pēc dolāra zīmes virknē, lai iegūtu papildu vietu pēc jūsu uzvednes, kas atvieglo ievadīto komandu diferenciāciju no uzvednes. Papildu telpa nav nepieciešama, bet tā ir ieteicama.

Ievērojiet, ka komandā nav atstarpes starp PS1, = un virkni.

Visu turpmāko sesiju uzvednes maiņa

Ja vēlaties mainīt uzaicinājumu katrai jaunajai sesijai, jums ir nepieciešams rediģēt jūsu bash starta failus. Katru reizi, kad sākat termināla sesiju, šādi faili, ja tādi ir, tiek nolasīti un izpildīti kā skripti:

/ etc / profile ~ / .bash_profile ~ / .bash_login

~ / .profile

Pirmais fails, / etc / profile, ir starta skripts jebkuram sistēmas lietotājam, kurš sāk bash sesiju. Lai mainītu uzaicinājumu katram lietotājam, jums ir nepieciešams rediģēt šo failu, un jums ir nepieciešamas superuser tiesības.

 sudo vi / etc / profile 

Piemēram, iepriekš minētā komanda liks jums parole un, ja atrodaties sudoers sarakstā, atveriet universālo bash starta failu kā superuser, izmantojot vi redaktoru.

Pārējie trīs faili tiek meklēti iepriekš minētajā secībā un izpildīti pēc / etc / profile . Šie trīs faili dzīvo jūsu mājas direktorijā, tāpēc tie tiek izpildīti tikai jums. Viņi var definēt PS1 vairāk nekā vienā vietā, tāpēc jums vajadzētu rūpīgi izlasīt failus, lai redzētu, kā tie ir konfigurēti jūsu sistēmā. Piemēram, daudzas sistēmas izmantos citu PS1 vērtību atkarībā no tā, vai jūsu termināls atbalsta krāsu.

Jebkurš no trim failiem var pastāvēt un tikt izmantots jūsu bash sesijai, bet, ja ir vairāk nekā viens, tie tiks izpildīti norādītajā secībā.

Ja nevēlaties dzēst vai mainīt rindas starta failos, varat pievienot jaunu PS1 = paziņojumu viena faila beigās, lai piemērotu pielāgotu uzvedni.

Krāsas pievienošana jūsu vaicājumam

Ja izmantojat termināli, kas atbalsta krāsu (un jūs, iespējams, esat), jūsu uzvednē varat pievienot krāsu. Krāsas tiek pievienotas, izmantojot īpašas rakstzīmju secības, kas atbilst šādam formātam:

e [ skaits mSāk krāsainu sadaļu. Numura vērtība ir īpašs numurs vai ciparu pāris, kas nosaka krāsu.
e [mapzīmē krāsainas sekcijas galu; atjauno noklusējuma krāsu

Piemēram, ātra virkne:

 PS1 = "e [1; 35mTas ir spilgti violeta. E [0; 35m ... un tas ir tumši violets. 

Izveidos uzvedni, kas izskatās šādi:

Šeit ir saraksts ar krāsām, kuras varat izmantot, un numurus, kas tos nosaka:

Numurs (-i)Krāsa / stilsNumurs (-i)Krāsa / stils
0; 30Melns1; 30Tumši pelēks
0; 31sarkans1; 31Spilgti sarkans
0; 32Zaļš1; 32Spilgti zaļa
0; 33Brūns1; 33Dzeltens
0; 34Zils34;Spilgti zils
0; 35Violets35;Spilgti violeta
0; 36Ciāna1; 36Bright Cyan
0; 37Pelēka37;Balta
4; 30Melns, pasvītrots40fons: Tumši pelēks
4; 31Sarkans, pasvītrots41fons: sarkans
32;Zaļš, pasvītrots42fons: zaļš
33;Brūns, pasvītrots43fons: dzeltens
34;Zils, pasvītrots44fons: zils
35;Violeta, pasvītrota45fons: Purple
36;Cyan, pasvītrots46fons: Cyan
37;Pelēks, pasvītrots47Fons: pelēks

Šeit ir daži piemēri un tas, kā viņi izskatās:

 PS1 = "e [0; 31mRed e [0; 32mGreen e [0; 33mBrown e [0; 34 mBeue e [0; 35mPurple e [0; 36mCyan e [0; 37mGray e [m" 

 PS1 = "Apzīmēts: e [4; 31mRed e [4; 32mGreen e [4; 33mBrown e [4; 34mBue e [4; 35mPurple e [4; 36mCyan e [4; 37mGray e [ m " 

 PS1 = "e [44m e [1; 35mBrīni violeta uz zila fona e [m")