Hogyan készítsük a bash parancssort többszínű és nem csak - a bolygó kiszámítása

Számos cikket találtam az interneten, úgy döntöttem, hogy összeállítom az egyiket.

A legtöbb terjesztésben a Bash parancssor ugyanolyan színű, mint a bemeneti parancsok és a parancsok kimeneti szövege. Ha a konzolban intenzív munkát végeznek, amikor sok parancs egy sorba kerül, akkor nehéz lehet azonnal megnézni, hogy egy parancs kimenete befejeződik és egy másik bemenet indul, különösen, ha a parancsok nagy. Szerencsére a Bash lehetővé teszi, hogy kiemelje a meghívót színnel.

Először egy kis elmélet.

\ u - különleges karakter, azaz a felhasználó bejelentkezési adatai (itt - denister)
\ h egy speciális karakter, amely jelzi a számítógép (gazdagép) nevét (kiszámítja)
\ w egy speciális karakter, amely a munkakönyvtárat jelzi. (Mint tudják, tilde (

) a kezdőkönyvtárat jelöli).
A @, $ szimbólumok maguk jelölése.

És most nézzük meg a PS1 értékét alapértelmezés szerint a CLD 11.0-ban (számomra)
(Egy normál felhasználó, nem root).

Mint látható, már van szín.

Szóval, hogyan működik a karakterek és hátterek színe, és hogyan változtathat különböző megjelenítési módokat a terminálon UNIX (és sok más operációs rendszer) számára? Igen jól, mint a legendás időkben telex terminálok - küldünk a megjelenítő eszköz vezérlő utasítások formájában esc-szekvencia (.. Esc rövid az angol menekülés, hangsúlyos menekülés).
Ez a szekvencia két vagy több karakterből áll, ezek közül az első lesz esc (a decimális kód 27, az oktális 033, a hex 0x1B). A színezés a PS1 változó szerkezetének bizonyos változásaival történik.
Ha meghívja a meghívás egy részét, akkor ezt a részt közvetlenül a \ [\ 033 [Xm \] kifejezéssel helyettesítenie kell. Sárga szín esetén az X helyettesítése helyett 33; 1. Ha csak 33-ot cserél, akkor egy tégla színe van; ha 33, 4 akkor a tégla aláhúzva; ha 33; 5, akkor a tégla szimbólum villogni kezd; ha 33.7 akkor fekete szimbólum lesz a tégla téren.
Egyébként nem számít, hogy mely sorrendben kell megadni az értékeket a pontosvessző köré, így 33; 1 egyenlő 1-vel; 33;

Itt van az elsődleges színek táblája

Ha színt adunk a színes számhoz a pontosvesszővel, világosabb árnyalatot kapunk:

A négypontos pontosvesszővel egy színt a színszámhoz egy aláhúzás ad.
Az öt pontos pontosvesszővel egy színt ad a számhoz villogó szimbólummal.
Ha színt ad a színes számhoz a hét pontosvesszőjén keresztül, fekete színű szimbólumot hoz létre a megfelelő szín háttérjében.
Ha a 30-38 helyettesítő szám helyett a 40-48-as szám helyett azonos színeket nem szimbolizál, hanem a körülöttük lévő háttér:

A bonyolultabb háttér- és betűkészlet kombinációkat is létrehozhatja
\ [\ 033 [01; 32; 42m \].

A PS1-et közvetlenül a parancssorból megváltoztathatja pl

de akkor, amikor kilép a konzoltól, minden szín eltűnik.
Annak érdekében, hogy a többszínű meghívó állandó legyen, létre kell hoznia egy .bashrc fájlt a saját könyvtárában, és be kell írnia a PS1 értékét, valamint be kell írnia a terminált:

Azt szeretném megjegyezni, hogy ha megváltoztatod a felhasználót, például a gyökeret, akkor az összes szín újra alapértelmezés szerint megváltozik. Festeni egy meghívást a bash másik felhasználó, akkor létre kell hozni egy fájlt, amelynek neve végződik .bashrc a saját könyvtárban a felhasználó, például /root/.bashrc és írd bele az értéket PS1.
A PS1-t globálisan az / etc / bash / bashrc fájlban cserélheti globálisan, de ezt nem javaslom.

Nos, a legérdekesebb!

# Használja a különböző színeket:

\ t - megjeleníti az időt
\ d - dátum

# A teljes elérési út megjelenítése:

Ebben az egyszerű és érthető példában két adatvonal kerül kiadásra. Az első sor a kényelmes formátumban mutatja a teljes elérési utat, a második pedig csak a felhasználónevet.
\ n - sortörés

# A szín megváltoztatása érvénytelen parancsbevitel esetén

Ez a szokásos parancssor. A kimeneti üzenet színe megváltozik, ha problémák vannak az utolsó parancsgal. Ugyanakkor az aktuális könyvtár elérési útja meg van adva, és minden egyes kereséshez minden egyes parancs esetében meg van adva annak száma a bash parancsok történelemlistájában.

# Egy vidám bögrét adunk, ha a csapat végrehajtása sikeres volt

Az ötlet az, hogy ha a csapata sikeres lesz, vicces arcot kap. És ha a csapat nem sikerül - szomorú arcot ad.

Nos, ha valaki más érdekes megoldásokat talál - állapítsa meg.

És természetesen - az ember bash szakaszának PROMPTING

Kapcsolódó cikkek