Pamatujete si, že jste se na hodinách jazyků učili o kořenových slovech? Pro angličtináře, jako jsem já, se velká část našeho jazyka skládá z řeckých a latinských kořenů s přidanými předponami a příponami, které vytvářejí nová slova. Podobně příkazy používané ve více jazycích mají běžně společnou konvenci pojmenování a mohou dokonce provádět podobné úkoly.
printf
Příkaz sleduje své kořeny zpět do vývojového světa, ale nabízí praktické nástroje také správci systému. Odvozeno z print
Funkce v programovacích jazycích C poskytuje uživateli možnost tisknout formátovaný řetězec výstupu. Funguje na textovém, numerickém výstupu nebo na kombinaci obou. To může být výkonné, když je spárováno s proměnnou.
Syntaxe
Syntaxe příkazu printf
je podle manuálové stránky docela jednoduché, ale může se rychle stát matoucí. Základní syntaxe je následující:
printf FORMAT [ARGUMENT]...
printf OPTION
V prvním příkladu FORMAT změní výstup stejným způsobem, jako by to bylo v jazycích C.
Kde to začíná být divné...
Jsou zde popsány tři typy objektů:Standardní znaky, interpretované znaky a specifikace převodu. Podívejme se na všechny tři níže:
1. Standardní znaky vložené přímo do výstupu.
2. Interpretované znaky označené \
(viz níže):
Běžné interpretované znaky:
\" | dvojitá uvozovka |
\\ | zpětné lomítko |
\b | backspace |
\c | neprodukuje žádný další výstup |
\e | útěk |
\n | nový řádek |
\t | horizontální karta |
\v | svislá karta |
3. Specifikace převodu (mění způsob, jakým je argument převeden na výstup).
Každá specifikace konverze je označena %
a končí převodním znakem (viz níže):
d, i | Celé číslo (vyjádřené jako desetinné číslo) |
u | Celé číslo (vyjádřené jako desetinné místo bez znaménka) |
x, X | Celé číslo (vyjádřené jako hexadecimální číslo bez znaménka) |
o | Celé číslo (vyjádřené jako osmičkové číslo bez znaménka) |
s | Řetězec |
c | Celé číslo (vyjádřené jako ASCII) |
Existují i jiné, ale tyto jsou některé z nejběžnějších.
Dále se podívejme na použití.
[ Také by se vám mohlo líbit: 11 Linuxových příkazů, bez kterých nemohu žít ]
Základní použití
Nejzákladnější případy použití pro printf
vypisuje textové řetězce bez přijetí chyby.
K vidění zde:
[tcarrigan@client ~]$ printf "Hello World."
Hello World.
Pokud byste chtěli být trochu pokročilejší, můžete udělat něco takového:
[tcarrigan@client ~]$ printf "Hi, my name is Tyler. I write for %s. A great publication for system administrators." "Enable Sysadmin."
Hi, my name is Tyler. I write for Enable Sysadmin. A great publication for system administrators.
Výše uvedený příklad je jen o něco pokročilejší díky použití STRING . FORMÁT část příkazu je obsažena ve dvojitých uvozovkách. Máme specifikaci konverze (STRING ), který vypíše "Enable Sysadmin" místo %
s.
Můžete také použít printf
ve spojení s environmentálními proměnnými dělat docela pěkné věci. Jednoduchý příklad toho lze otestovat předáním následujícího:
[tcarrigan@client ~]$ printf "Hello, I am %s.\n" $LOGNAME
Hello, I am tcarrigan.
Tím překročíte STRING jako proměnná prostředí $LOGNAME , což je uživatelské jméno účtu provádějícího příkaz. Po změně účtu můžete vidět rozdíl níže:
[root@client ~]# printf "I am %s.\n" g$LOGNAME
I am groot.
Promiň, nemohl jsem si pomoct.
[ Chcete si vyzkoušet své schopnosti správce systému? Proveďte hodnocení dovedností ještě dnes. ]
Shrnutí
Všechny vtipy stranou, printf
command může být užitečný nástroj, zvláště pokud již máte nějaké zkušenosti s programovacími jazyky C. Pokud ne, nástroj je stále k dispozici, ale budete muset pracovat trochu tvrději, abyste mohli plně využít sílu příkazu.