PředchozíNahoruDalšíObsah

16.9 Příkaz printf

Příkaz printf je dostupný jen v moderních shellech (je dostupný v bash). Podle specifikace X/Open byste mu při vytváření formátovaného výstupu měli dávat přednosti před příkazem echo. Jeho syntaxe je:

printf "formátovací řetězec" parametr1 parametr2 ...

Formátovací řetězec je (s určitými omezeními) podobný formátovacímu řetězci v jazyce C či C++. Především nejsou podporovány reálné proměnné, přotože veškerá aritmetika v shellu probíhá v oboru celých čísel. Formátovací řetězec je tvořen libovolnou kombinací písme, řídících sekvencí a konverzních specifikátorů. Všechny jiné znaky než % a \ se na výstupu objeví v původní podobě.

Jsou podporovány následující řídící sekvence:

Řídící sekvence
Popis
\\ Znak zpětné lomítko
\a Varování (pípnutí)
\b Znak zpětné lomítko
\b Znak vysunutí stránky
\n Znak nový řádek
\r Návrat vozíku
\t Znak tabulátor
\v Znak vertikální tabulátor
\ooo Znak, jehož osmičková hodnota je ooo.

Konverzní specifikátor je o něco složitější, takže zde uvedeme jen běžně používané parametry. Další podrobnosti najdete v manuálu. Konverzní specifikátor je tvořen znakem % následovaným konverzním znakem. Základní konverze jsou tyto:

Konverzní specifikátor
Popis
d Vypíše desítkové číslo
c Vypíše znak
s Vypíše řetězec
% Vypíše znak %

Formátovací řetězec je pak použit k interpretaci zbylých paramterů a výstupu výsledku. Například:

xconsole$ printf "%s\n" hello
hello
xconsole printf "%s %d\t%s" "Hi there" 15 people
Hi There 15    people

PředchozíNahoruDalšíObsah

15. října 2000 17:01