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:

instagram viewer
$ 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.

Email
10 legjobb Linux disztribúció fejlesztőknek

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

Kapcsolódó témák
  • Linux
  • Linux Bash Shell
  • Linux parancsok
A szerzőről
Jordan Gloor (32 cikk megjelent)

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.

Jordan Gloortól többet

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.

.