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.