Ha tisztességes ideig használta a Bash héjat, akkor valószínűleg tudja, hogyan nyomtathat húrokat a Linux terminálban az echo paranccsal. A printf parancs azonban sokkal könnyebbé teszi a speciális formázással rendelkező szöveg nyomtatását.
Ma megtanuljuk, hogyan kell használni a printf függvényt a Bash szkriptkészség fejlesztése érdekében.
Mi a Bash printf funkció?
Ahogy a neve is sugallja, a printf olyan funkció, amely formázott szövegsorokat nyomtat. Ez azt jelenti, hogy írhat egy karakterlánc-struktúrát (a formátumot), majd később kitöltheti értékekkel (az argumentumokkal).
Ha ismeri a C / C ++ programozási nyelveket, akkor talán már tudja, hogyan működik a printf. A Printf a Bash héjban nagyon hasonló, de van néhány apró különbsége.
Tudj meg többet: A legjobb webhelyek a C ++ programozás használatához
A printf használata a Bash Shellben
A printf alapvető szintaxisa:
printf formátum [argumentum]
A Printf kinyomtatja a formátum karakterlánc végrehajtás közben menekül (\) és irányelvek (%) segítségével meghatározott érvek. Vegye figyelembe a következő parancs kimenetét:
$ printf "Hello,% s" világ
Helló Világ
Printf vette a világ érv és felváltotta a % s karakter a megadott karaktersorozatban.
Észreveheti, hogy a kimenet után a Bash nem hoz létre új sort az Ön számára. Az echo paranccsal ellentétben a printf nem feltételezi, hogy új sort szeretne a kimenet kinyomtatása után. Így az új vonalkaraktert kell használnia \ n minden esetben.
Karakterlánc nyomtatásához, majd új sorra lépéshez írja be a következőt: printf "Hello, világ \ n".
Helló Világ
Fontos szem előtt tartani, hogy a printf megpróbálja újból felhasználni az összes argumentum formátumát. Használhatja ezt előnyére, de ha nem vigyáz, akkor az ilyen eredményekhez juthat:
$ printf "A nevem% s" Jordan Gloor
A nevem Jordan. A nevem Gloor
Tudnia kell arról is, hogy ha hiányzik egy argumentum, a printf az irányelveket úgy értelmezi 0 (egy számhoz) és nulla (egy húrra).
$ printf "Helló,% s."
Helló, .
Most, hogy tudja, hogyan működik a Bash parancsfájl a printf használatával a Linuxban, készen áll a használatára a parancsokban.
Linux Bash printf Példák
A Printf számos formátummeghatározót tartalmaz, amelyeket a szkriptjeiben használhat. De ma csak néhány általános témát tárgyalunk a funkcióval kapcsolatban.
1. Formázza a kimenetet karakterlánccal
A kimenet szöveges karakterláncokkal történő formázásához használja a % s irányelv.
A $ printf "% s az egyik legnagyobb online% s." MUO "technológiai kiadványok"
A MUO az egyik legnagyobb online technológiai publikáció.
2. Formázza a kimeneti karakterláncot tizedesjegyekkel
A karakterlánc egész számmal történő formázásához használhatja a % d irányelv aláírt tizedesjegyig.
$ printf "A MUO-t% d-ben alapították." 2007
A MUO-t 2007-ben alapították.
Vegye figyelembe, hogy ha aláíratlan tizedest akar használni a kimenetben, akkor a % u irányelv helyett.
Összefüggő: Mit jelent a "Bash" Linux alatt?
3. Kimeneti matematikai függvények a printf használatával
A matematikai függvények egyszerű formázása a printf paranccsal. Csak helyezze a kifejezést kettős zárójelbe, mint általában a Bash-ban, és adja meg a kifejezést az argumentumlistában.
$ printf "1 + 1% d" $ ((1 + 1))
Az 1 + 1 értéke 2
4. Hexadecimális számok formázása
Ha hexadecimális számot kell formáznia, használja a %x kisbetűkhöz és %X nagybetűkhöz.
$ printf% X 1000
3E8C
5. Dátum és idő nyomtatása
Az aktuális dátum és idő nyomtatásához kombinálhatja a printf fájlt a dátum parancsot, és adja át a következő irányelveket.
$ printf "% (% m-% d-% Y% H:% M:% S) T" $ (dátum +% s)
03-26-2021 15:27:57
A fent említett kimenetben láthatja a hónap, nap, év, óra, perc és másodperc formátummeghatározókat.
6. Formázza a karakterláncokat Unicode karakterekkel
Az Unicode karakterek printf nyomtatásához használja a \ u menekülni a 16 bites Unicode és \ U 32 bites Unicode-hoz.
Például kinyomtathatja a szerzői jog szimbólum a következő paranccsal:
$ printf "\ u00A9"
©
7. Távolság hozzáadása a kimenethez
A karakterláncokat szóközzel formázhatja, ha az irányelv-specifikátor előtt meghatároz egy minimális számú nyomtatott karaktert. A fel nem használt karakterek szóközökkel lesznek kitöltve.
Például gépelés printf "% s:% 5d \ n" "Érték 1" 25 "Érték 2" 120 kiadja:
1. érték: 25
2. érték: 120
Az % 5d A kimeneti formátummeghatározó azt jelzi, hogy a formázott karakterlánc legalább öt karaktert tartalmaz. Mivel a 25-nek csak két számjegye van, szóközök kerülnek a többi karakterhez.
Ha szélességként negatív számot ad meg, akkor az irányelv balra igazított helyett jobbra igazított lesz.
$ printf "% -10s:% d" "Körök" 25 "Dobozok" 120
Körök: 25 doboz: 120
Ha a szélesség változót szeretné létrehozni, akkor egy csillag helyett egy számot adhat át, és a printf a következő számot használja, amelyet az argumentumlistában talál.
$ printf "% * s:% d" -10 "Körök" 25 -10 "Dobozok" 120
Körök: 25 doboz: 120
Összefüggő: Minden, amit tudnia kell a Bash for Loops Linuxról
A Linux printf parancs megtanulása
A printf paranccsal a Bash scripting segédprogramban készen áll a komplex és változó karakterláncok nyomtatására a terminálon. A Bash szkriptek fejlesztése során fontos megbizonyosodnia arról, hogy a lehető legtermékenyebb környezetben dolgozik. Ez nem csak a parancssori képességeit javítja, hanem általánosságban a munkafolyamatát is.
Készen áll a nyílt forráskódú operációs rendszer fejlesztésének megkezdésére? Itt vannak a legjobb Linux disztribúciók a programozáshoz.
Olvassa el a következőt
- Linux
- Linux Bash Shell
- Linux parancsok
Jordan oktató és újságíró, aki szenvedélyesen törekszik arra, hogy mindenki számára elérhető és stresszmentes legyen a Linux. Angol nyelvű BA-ja van, és forró teához. A meleg évszakokban szívesen kerékpározik az Ozark dombjain, ahol él.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!
Még egy lépés…!
Kérjük, erősítse meg e-mail címét az imént elküldött e-mailben.