„printf„Příkaz v bash skriptování funguje stejně“printf ()”Pracuje v jazyce C. Tento příspěvek se zaměří na „printf”Příkaz, jeho syntaxe a příklady, které dále rozvádějí použití tohoto příkazu. Pojďme zkontrolovat syntaxi „printf”Příkaz:
printf : Přiřadit výstup proměnné je volitelné.
Jak používat příkaz printf v bash skriptování pomocí editoru Vim:
V této příručce používáme editor Vim kvůli jeho bohaté funkčnosti a snadnému použití. Získejte Vim do svého zařízení pomocí:
$ sudo apt install vimSpusťte editor vim:
$ vimNapíšeme jednoduchý program pro tisk řetězce pomocí „printf“:
#! / bin / bashprintf „Ahoj Linuxhint“
Chcete-li soubor uložit, stiskněteEsc”Přepnete režim a poté zadáte „: Příklad.sh “a pak„Enter “. Nyní otevřete nové okno terminálu a zadejte:
$ bash příklad.shVýše uvedený příkaz provede skript a vytiskne text „ahoj linuxhint“, jak je uvedeno níže:
Nyní zahrňme některé specifikátory formátu:
#! / bin / bashprintf “% s \ n” “Ahoj Linuxhint”
Ve výše uvedeném příkladu „% s“ říká, že s odpovídajícím argumentem by mělo být zacházeno jako s řetězcem a „\ n“ pro nový řádek. Podobně, použijeme-li „% d“, bude argument považován za celé číslo:
#! / bin / bashprintf “% s \ n” “Hello Linuxhint” “Další informace o” “Linuxu”
Všechny tři argumenty budou považovány za řetězec a vytištěny v novém řádku, jak ukazuje následující výstup:
Níže je uveden další příklad, abychom pochopili použití příkazu „printf“:
#! / bin / bashecho „Zadejte své jméno“
číst jméno
echo „Zadejte svůj věk“
číst věk
printf „Vaše jméno:% s \ nVěk:% s \ n“ „$ name“ „$ age“
„Vaše jméno:% s \ n Váš věk:% s \ n“ je formát, zatímco „$ name“ „$ Age“ jsou argumenty. Zatímco „% s“ ukazuje na argumenty.
Jak používat specifikátory převodu pomocí příkazu printf:
Specifikátory převodu jsou znaky používané se znaménkem „%“ k označení, jak zacházet s argumenty. Podívejme se na seznam některých běžně používaných specifikátorů:
Specifikátor | Dpředpis |
---|---|
%% | Vytiskne symbol „%“ |
%C | Bere argumenty jako jeden znak |
% e a% E | Vezměte argument v čísle s plovoucí desetinnou čárkou a vytiskne exponenciální notaci, %E pro malá písmena a %E pro velké písmeno |
% g a% G | Vezměte argument v čísle s plovoucí desetinnou čárkou a tiskne v normální nebo exponenciální notaci |
%F | Argument bere jako plovoucí čísla |
% d | Vezme argumenty jako celá čísla se znaménkem |
% u | Bere argument jako celá čísla bez znaménka |
%Ó | Bere argument jako osmičkové číslo bez znaménka |
% x a% X | Vezme argumenty jako hexadecimální celá čísla bez znaménka |
Pojďme dále zpracovat výše uvedené specifikátory s příkladem v bash:
#! / bin / bashecho „Zadejte číslo, které chcete převést“
číst číslo
printf „Desetinné:% d \ nOktální:% o \ nHex:% X \ n“ „$ number“ „$ number“ „$ number“
Jak používat direktivy Flag, Width a Precision s příkazem printf:
Direktivy příznaků přicházejí s volitelným použitím s příkazem „printf“. Běžně používané direktivy příznaků jsou
- „-“ Levé zarovnání výstupu
- „+“ Přidá znak „+“ s celým číslem
- „0“ Přidá „0“ s číslem místo mezer
Direktivy šířky přidávají prostor s výstupem obvykle používaným za příznakem. Pochopme to na příkladu:
#! / bin / bashecho „Zadejte své jméno“
číst jméno
echo „Zadejte svůj věk“
číst věk
printf „Vaše jméno a věk jsou:% 5s% 5d \ n“ „$ name“ „věk“
„% 30s“ znamená, že prostor je dlouhý 30 znaků, a pro zarovnání výstupního formuláře vlevo použijte znak „-“ „% -30s“.
Směrnice přesnosti se skládá z tečky „.„Následující kladným celým číslem:
#! / bin / bashprintf „%.2f “2.56473
Výstup by byl:
Pokud je číslo celé číslo, směrnice přesnosti přidá před číslo „0“. Pokud je číslo typu s plovoucí desetinnou čárkou, pak směrnice přesnosti určí počet kladných číslic za desetinnou čárkou. U řetězce určuje počet znaků, které se mají zobrazit:
#! / bin / bashprintf „%.2f \ n “2.468936
printf „%.3d \ n “10
printf „%.3 s \ n „„ samlinux “
Parametry zpětného lomítka:
Parametry úniku zpětného lomítka, nazývané také únikové sekvence, se používají jako zpětné lomítko k formátování řetězce pomocí příkazu „printf“. Tyto sekvence nepředstavují samy sebe, ale interpretují je v některých dalších znacích. Některé běžně používané únikové sekvence jsou:
Charakter | Popis |
---|---|
\\ | Vytiskne znak zpětného lomítka |
\ b | Vytiskne znak backspace |
\ n | Vytiskne výstup do nového řádku |
\ r | Vytiskne návrat na začátek řádku (kurzor na začátku řádku) |
\ t | Poskytuje prostor na kartě zprava |
\proti | Poskytuje prostor na kartě |
Závěr:
Pokud jde o tisk něčeho ve skriptu bash, nejčastěji se používá příkaz „echo“, protože se snadno používá a pamatuje si. Příkaz „echo“ má ale svá omezení. Proto pro správné formátování výstupu použijte „Printf“ lze použít příkaz. The „Printf“ příkaz přichází se spoustou možností formátování výstupu řetězce a dokonce i převodů a formátování základních čísel. Tato příručka důkladně rozumí funkcím příkazu „printf“ v bash skriptování s příklady.