Polecenie Bash PrintF

Polecenie Bash PrintF
Pracując ze skryptami Bash, głównie używamy polecenia „Echo” do wydrukowania dowolnego wyjścia, co jest wygodne i łatwe w użyciu, i spełnia wymagania przez większość czasu. Ale prostota wiąże się z ograniczeniem; Echo Command ma swoje własne ograniczenie, jeśli chodzi o formatowanie danych wyjściowych, w takim przypadku „printf„Polecenie odgrywają swoją rolę.

„„printf„Polecenie w skryptach Bash działa w ten sam sposób”printf ()„Działa w języku C. Ten post skupi się na „printf”Polecenie, jego składnia i przykłady, które dalej opracowują użycie tego polecenia. Sprawdźmy składnię „printf" Komenda:

printf

: Opcjonalne jest przypisanie wyjścia do zmiennej.
: Jest to ciąg, który może zawierać różne specyfikatory formatu, takie jak „%s”, „%b”, „%d”, „%f” i ucieczka backslash
: Argumenty mogą być dowolną wartością lub zmienną

Jak używać polecenia printf w skryptach bash za pomocą edytora vim:

Używamy edytora VIM do tego przewodnika ze względu na jego bogatą funkcjonalność i łatwość użycia. Uzyskaj vim na swoim urządzeniu za pomocą:

$ sudo apt instal vim

Uruchom edytor VIM:

$ vim

Napiszmy prosty program do wydrukowania ciągu za pomocą „PrintF”:

#! /bin/bash
printf „Hello Linuxhint”

Aby zapisać plik, naciśnij „wyjście”Przycisk, aby przełączyć tryb, a następnie wpisz „: W Przykład.sh ”, a potem„EnteR". Teraz otwórz nowe okno terminala i wpisz:

$ BASH Przykład.cii

Powyższe polecenie wykona skrypt tekst „Hello Linuxhint”, jak pokazano poniżej:

Teraz dołączmy niektóre specyfikatory formatu:

#! /bin/bash
printf „%s \ n” „Hello Linuxhint”

W powyższym przykładzie „%s” mówi, że odpowiedni argument powinien być traktowany jako ciąg i „\ n” dla nowej linii. Podobnie, jeśli użyjemy „%d”, argument będzie traktowany jako liczba całkowita:

#! /bin/bash
printf „%s \ n” „Hello Linuxhint” „Dowiedz się o„ Linux ”

Wszystkie trzy argumenty będą traktowane jako ciąg i wydrukowane w nowej linii, jak pokazano w następującym wyjściu:

Kolejny przykład jest wspomniany poniżej, aby zrozumieć użycie polecenia „PrintF”:

#! /bin/bash
Echo „Wprowadź swoje imię”
Przeczytaj nazwę
Echo „Wprowadź swój wiek”
Przeczytaj wiek
printf „Twoje imię: %s \ nyour wiek: %s \ n” „$ nazwa” „$ wiek”

„Twoje imię: %s \ n twój wiek: %s \ n” jest formatem, a „$ nazwa” „$ Wiek” to argumenty. Podczas gdy „%s” wskazuje argumenty.

Jak używać specyfikatorów konwersji z poleceniem printf:

Specyfikatory konwersji to znaki stosowane ze znakiem „%”, aby wskazać, jak traktować argumenty. Sprawdźmy listę niektórych powszechnie używanych specyfikatorów:

Specyficzny Desprykcja
%% Drukuje symbol „%”
%C Przyjmuje argumenty jako pojedynczy znak
%e i %e Weź argument w liczbie zmiennoprzecinkowej i wydrukach w notacji wykładniczej, %mi dla litera niższej sprawy i %MI za literę kapitału
%g i %g Weź argument w liczbie zmiennoprzecinkowej i wydrukach w notacji normalnej lub wykładniczej
%F Podejmuje argument jako pływające liczby
%D Przyjmuje argumenty jako podpisane liczby całkowite
%u Podejmuje argument jako niepodpisane liczby całkowite
%o Podejmuje argument jako niepodpisany numer ósemkowy
%x i %x Przyjmuje argumenty jako niepodpisane liczby sześciokadciowców

Dalej opracujmy powyższe specyfikatory z przykładem w Bash:

#! /bin/bash
echo „Wprowadź numer do konwersji”
Numer odczytu
printf „Decimal: %d \ noctal: %o \ nHex: %x \ n” „$ liczba” „$ liczba” „$ liczba”

Jak używać dyrektyw flagi, szerokości i precyzyjnych za pomocą polecenia printf:

Dyrektywy flagowe są wyposażone w opcjonalne użycie z poleceniem „printf”. Powszechnie używane dyrektywy flagi są

  • „-” Pozostało uzasadnienie wyjścia
  • „+” Dodaje znak „+” z liczbą całkowitą
  • „0” dodaje „0” z liczbą zamiast przestrzeni

Dyrektywy szerokości dodają miejsca z wyjściem zwykle używanym po flagie. Zrozummy to przykładem:

#! /bin/bash
Echo „Wprowadź swoje imię”
Przeczytaj nazwę
Echo „Wprowadź swój wiek”
Przeczytaj wiek
printf „Ty imienia i wiek to: %5s %5d \ n” „$ name” „wiek”

„%30s” oznacza, że ​​przestrzeń ma 30 znaków, a aby wyrównać formularz wyjściowy, użyj znaku „-” „%-30”.

Dyrektywa precyzyjna składa się z DOT „.„Obserwowanie pozytywnej liczby całkowitej:

#! /bin/bash
printf „%.2f ”2.56473

Wyjście byłoby:

Jeśli liczba jest liczbą całkowitą, dyrektywa precyzyjna doda „0” przed liczbą. Jeśli liczba jest typem zmiennoprzecinkowego, dyrektywa precyzyjna określi liczbę cyfr dodatnich po punkcie dziesiętnym. W przypadku ciągów określa liczbę znaków, które należy wyświetlić:

#! /bin/bash
printf „%.2f \ n ”2.468936
printf „%.3d \ n ”10
printf „%.3s \ n ”„ Samlinux ”

BackSlash uciekł z parametrów:

Parametry ucieczki z tyłu, zwane także sekwencjami ucieczki, są używane z backslash do sformatowania łańcucha za pomocą polecenia „printf”. Te sekwencje nie reprezentują siebie, ale interpretują się w niektórych innych postaciach. Niektóre powszechnie stosowane sekwencje ucieczki to:

Postać Opis
\\ Wydrukuje charakter odwrotny
\B Wydrukuje znak Backspace
\N Wydrukuje wyjście w nowej linii
\R Wydrukuje powrót karetki (kursor na początku linii)
\T Daje przestrzeń zakładki od prawej
\ v Daje przestrzeń zakładki

Wniosek:

Jeśli chodzi o wydrukowanie czegoś w skryptowaniu bashu, polecenie „echo” jest najczęściej używane, ponieważ jest łatwe w użyciu i zapamiętanie. Ale polecenie „echo” ma swoje ograniczenie. Dlatego, aby właściwie sformatować wyjście, „Printf” Komenda można użyć. „Printf” Polecenie zawiera mnóstwo opcji formatowania wyjścia ciągów, a nawet liczb podstawowych „konwersje i formatowanie. Ten przewodnik dokładnie rozumie funkcjonalność polecenia „PrintF” w skryptach bash z przykładami.