Bash -Printf -Befehl

Bash -Printf -Befehl
Arbeiten mit Bash Scripting verwenden wir meisten. Aber Einfachheit kommt mit Einschränkung; Der Echo -Befehl hat seine eigene Einschränkung, wenn es darum geht, die Ausgabe in diesem Fall zu formatieren. “printfBefehl spielt seine Rolle.

Der "printf"Befehl in Bash Scripting funktioniert genauso"printf ()”Arbeitet in der C -Sprache. Dieser Beitrag konzentriert sich auf die “printfBefehl, seine Syntax und Beispiele, die die Verwendung dieses Befehls weiter ausarbeiten. Lassen Sie uns die Syntax der "überprüfen"printf" Befehl:

printf

: Es ist optional, einer Variablen Ausgabe zuzugeben.
: Es handelt sich um eine Zeichenfolge, die unterschiedliche Formatantrieber wie „%s“, „%b“, „%d“, „%f“ und Backslash Escape enthalten kann
: Die Argumente können ein beliebiger Wert oder eine Variable sein

Verwenden Sie den Befehl printf in Bash Scripting mit VIM -Editor:

Wir verwenden den VIM -Editor für diesen Leitfaden aufgrund seiner reichhaltigen Funktionalität und Benutzerfreundlichkeit. Holen Sie sich VIM auf Ihrem Gerät mit:

$ sudo apt install Vim

VIM -Editor starten:

$ vim

Schreiben wir ein einfaches Programm zum Drucken einer Zeichenfolge mit "printf":

#! /Bin/Bash
printf "Hallo LinuxHint"

Um die Datei zu speichern, drücken Sie die “EscTaste, um den Modus zu wechseln und dann einzugeben „: W Beispiel.sh ”und dann“EnteR". Öffnen Sie nun ein neues Terminalfenster und geben Sie ein:

$ bash Beispiel.Sch

Der obige Befehl führt das Skript aus, in dem der Text "Hello LinuxHint" wie unten gezeigt ausgedruckt wird:

Fügen wir nun einige Formatspezifizierer hinzu:

#! /Bin/Bash
printf "%s \ n" "Hallo LinuxHint"

Im obigen Beispiel zeigt „%s“, dass das entsprechende Argument als Zeichenfolge und „\ n“ für die neue Zeile behandelt werden sollte. In ähnlicher Weise wird das Argument als Ganzzahl behandelt, wenn wir „%d“ verwenden:

#! /Bin/Bash
printf "%s \ n" "Hallo LinuxHint" "Lernen Sie über" "Linux" lernen

Alle drei Argumente werden als Zeichenfolge behandelt und in einer neuen Zeile gedruckt, wie in der folgenden Ausgabe gezeigt:

Ein weiteres Beispiel wird weiter unten erwähnt, um die Verwendung des Befehls „printf“ zu verstehen:

#! /Bin/Bash
Echo "Geben Sie Ihren Namen ein"
Name lesen
Echo „Geben Sie in Ihr Alter“ ein
Alter lesen
printf "Ihr Name: %s \ nyour ay: %s \ n" "$ name" "$ ay"

"Ihr Name: %s \ n Ihr Alter: %s \ n" ist Format, während "$ name" "$ Ay" sind die Argumente. Während „%s“ auf die Argumente hinweist.

So verwenden Sie Konvertierungsspezifizierer mit dem Printf -Befehl:

Die Conversion -Spezifizierer sind Zeichen, die mit dem Zeichen „%“ verwendet werden, um anzuzeigen, wie die Argumente behandelt werden können. Überprüfen Sie die Liste einiger häufig verwendeter Spezifizierer:

Spezifizierer DAufschrift
%% Drucke "%" Symbol
%C Nimmt Argumente als einzelner Zeichen
%e und %e Nehmen Sie Argument in der Schwimmpunktzahl und Drucke in exponentieller Notation, %e für niedrigere Fallbrief und %E Für Großbuchstaben
%g und %g Nehmen Sie Argument in der Schwimmpunktzahl und Drucke in der normalen oder exponentiellen Notation ein
%F Nimmt argument als schwimmende Zahlen
%D Nimmt Argumente als unterschriebene ganze Zahlen ein
%u Nimmt Argument als nicht signierte Ganzzahlen ein
Nimmt Argument als nicht signierte Oktalzahl ein
%x und %x Nimmt Argumente als nicht signierte Hexadezimalzahlen an

Lassen Sie uns die oben genannten Anträge mit einem Beispiel in Bash weiter ausarbeiten:

#! /Bin/Bash
Echo „Geben Sie eine Nummer ein, um sich umzuwandeln“
Nummer lesen
printf "decimal: %d \ noctal: %o \ nhex: %x \ n" "$ number" "$ number" "$ number"

So verwenden Sie Flag-, Breiten- und Präzisionsrichtlinien mit dem Printf -Befehl:

Flag -Direktiven werden mit dem Befehl „printf“ optional verwendet. Die häufig verwendeten Flag -Anweisungen sind

  • "-" rechtfertigte die Ausgabe
  • "+" Fügt mit Ganzzahl ein Zeichen "+" hinzu
  • "0" fügt "0" mit einer Nummer anstelle von Leerzeichen hinzu

Breitenanweisungen fügen Platz hinzu, wobei die Ausgabe, die normalerweise nach dem Flag verwendet wird, normalerweise verwendet. Verstehen wir es mit einem Beispiel:

#! /Bin/Bash
Echo "Geben Sie Ihren Namen ein"
Name lesen
Echo „Geben Sie in Ihr Alter“ ein
Alter lesen
printf „Sie nennen und Alter sind: %5s %5d \ n“ „$ name“ „Alter“

"%30s" bedeutet, dass Platz 30 Zeichen lang ist, und um das links links ausgerichtete Ausgangsformular auszurichten, verwenden Sie das "-" -Scheichen "%-30s".

Die Präzisionsrichtlinie besteht aus dem Punkt “.”Folgt durch positive Ganzzahl:

#! /Bin/Bash
printf “%.2f ”2.56473

Die Ausgabe wäre:

Wenn die Nummer eine Ganzzahl ist, fügt die Präzisionsrichtlinie vor der Nummer "0" hinzu. Wenn die Zahl schweber Punkttyp ist, gibt die Präzisionsrichtlinie die Anzahl der positiven Ziffern nach dem Dezimalpunkt an. Für String gibt es die Anzahl der zu angezeigten Zeichen an:

#! /Bin/Bash
printf “%.2f \ n ”2.468936
printf “%.3d \ n "10
printf “%.3s \ n "" Samlinux "

Backslash entkommen Parameter:

Backslash Escape -Parameter, auch Escape -Sequenzen genannt, werden mit einem Backslash verwendet, um die Zeichenfolge mit dem Befehl "printf" zu formatieren. Diese Sequenzen repräsentieren sich nicht, sondern interpretieren in einigen anderen Zeichen. Einige häufig verwendete Fluchtsequenzen sind:

Charakter Beschreibung
\\ Drucken Backslash -Charakter
\B Druckt den Hinterraumcharakter
\N Drucke Ausgabe in einer neuen Linie
\R Druckt eine Wagenrendite (Cursor am Anfang der Linie)
\T Gibt Tabellen Platz von rechts
\ v Gibt Tabellen Platz

Abschluss:

Wenn es darum geht, etwas im Bash -Skripting zu drucken, wird der Befehl „Echo“ am häufigsten verwendet. Der Befehl „Echo“ hat jedoch seine Einschränkung. Daher, um die Ausgabe ordnungsgemäß zu formatieren, die "Printf" Befehl kann verwendet werden. Der "Printf" Der Befehl verfügt über viele Optionen zum Format der String -Ausgabe und sogar der Conversions und der Formatierung von Grundzahlen. Dieser Leitfaden versteht die Funktionalität des Printf -Befehls in Bash -Skripten mit Beispielen gründlich.