Das "druckenf” Befehl in Bash-Scripting funktioniert auf die gleiche Weise “printf ()” funktioniert in der Sprache C. Dieser Beitrag konzentriert sich auf die „druckenf”-Befehl, seine Syntax und Beispiele, die die Verwendung dieses Befehls näher erläutern. Lassen Sie uns die Syntax des „druckenf" Befehl:
druckenf : Es ist optional, den Ausgang einer Variablen zuzuweisen.
So verwenden Sie den Befehl printf in Bash-Skripten mit dem Vim-Editor:
Wir verwenden den Vim-Editor für dieses Handbuch wegen seiner umfangreichen Funktionen und Benutzerfreundlichkeit. Holen Sie sich Vim auf Ihr Gerät mit:
$ sudo apt install vimStarten Sie den vim-Editor:
$ vimSchreiben wir ein einfaches Programm zum Drucken eines Strings mit „printf“:
#! /bin/bashprintf „Hallo Linuxhint“
Um die Datei zu speichern, drücken Sie die „Esc”-Taste, um den Modus zu wechseln und dann einzugeben „:w Beispiel.sch“ und dann „Enter“. Öffnen Sie nun ein neues Terminalfenster und geben Sie Folgendes ein:
$bash-Beispiel.SchDer obige Befehl führt das Skript aus und druckt den Text „hello linuxhint“ wie unten gezeigt:
Fügen wir nun einige Formatbezeichner hinzu:
#! /bin/bashprintf „%s\n“ „Hallo Linuxhint“
Im obigen Beispiel sagt „%s“ dass das entsprechende Argument als String behandelt werden soll und „\n“ für die neue Zeile. Wenn wir „%d“ verwenden, wird das Argument ähnlich wie eine ganze Zahl behandelt:
#! /bin/bashprintf „%s\n“ „Hallo Linuxhint“ „Weitere Informationen“ „Linux“
Alle drei Argumente werden als String behandelt und in einer neuen Zeile ausgegeben, wie in der folgenden Ausgabe gezeigt:
Im Folgenden wird ein weiteres Beispiel erwähnt, um die Verwendung des Befehls „printf“ zu verstehen:
#! /bin/bashecho „Geben Sie Ihren Namen ein“
Namen lesen
echo „Geben Sie Ihr Alter ein“
Alter lesen
printf „Ihr Name: %s\nIhr Alter: %s\n“ „$name“ „$alter“
„Ihr Name: %s\n Ihr Alter: %s\n“ wird formatiert, während „$name“ „$Alter“ sind die Argumente. Wobei „%s“ auf die Argumente verweist.
So verwenden Sie Konvertierungsspezifizierer mit dem Befehl printf:
Die Konvertierungsspezifizierer sind Zeichen, die mit dem „%“-Zeichen verwendet werden, um anzugeben, wie die Argumente zu behandeln sind. Sehen wir uns die Liste einiger häufig verwendeter Bezeichner an:
Bezeichner | DBeschreibung |
---|---|
%% | Druckt das „%“-Symbol |
%c | Akzeptiert Argumente als einzelnes Zeichen |
%e und %E | Argument in Gleitkommazahl nehmen und in Exponentialschreibweise ausgeben, %e für Kleinbuchstaben und %E für Großbuchstaben |
%g und %G | Argument in Gleitkommazahl nehmen und in normaler oder exponentieller Notation ausgeben |
%f | Akzeptiert Argumente als Gleitzahlen |
%d | Akzeptiert Argumente als ganze Zahlen mit Vorzeichen |
%u | Akzeptiert Argument als vorzeichenlose Ganzzahlen |
%Ö | Akzeptiert Argument als Oktalzahl ohne Vorzeichen |
%x und %X | Akzeptiert Argumente als vorzeichenlose hexadezimale Ganzzahlen |
Lassen Sie uns die obigen Bezeichner mit einem Beispiel in bash weiter ausarbeiten:
#! /bin/bashecho „Geben Sie eine zu konvertierende Zahl ein“
Zahl lesen read
printf „Dezimal: %d\nOktal: %o\nHex: %X\n“ „$zahl“ „$zahl“ „$zahl“
So verwenden Sie Flag-, Width- und Precision-Anweisungen mit dem Befehl printf:
Flag-Direktiven werden optional mit dem Befehl „printf“ verwendet. Die am häufigsten verwendeten Flag-Direktiven sind
- „-“ Links die Ausgabe ausrichten
- „+“ Fügt ein „+“-Zeichen mit einer ganzen Zahl hinzu
- „0“ Fügt „0“ mit einer Zahl statt Leerzeichen hinzu
Width-Direktiven fügen Platz mit der Ausgabe hinzu, die normalerweise nach dem Flag verwendet wird. Lassen Sie es uns an einem Beispiel verstehen:
#! /bin/bashecho „Geben Sie Ihren Namen ein“
Namen lesen
echo „Geben Sie Ihr Alter ein“
Alter lesen
printf „Ihr Name und Ihr Alter sind: %5s %5d\n“ „$name“ „Alter“
„%30s“ bedeutet, dass das Leerzeichen 30 Zeichen lang ist, und um das Ausgabeformular links auszurichten, verwenden Sie das „-“-Zeichen „%-30s“.
Die Präzisionsrichtlinie besteht aus dem Punkt „.” Nach positiver Ganzzahl:
#! /bin/bashprintf “%.2f” 2.56473
Die Ausgabe wäre:
Wenn die Zahl eine ganze Zahl ist, fügt die Precision-Direktive „0“ vor der Zahl hinzu. Wenn es sich um eine Gleitkommazahl handelt, gibt die Präzisionsdirektive die Anzahl der positiven Stellen nach dem Dezimalpunkt an. Für string gibt es die Anzahl der anzuzeigenden Zeichen an:
#! /bin/bashprintf “%.2f\n” 2.468936
printf “%.3d\n” 10
printf “%.3s\n“ „samlinux“
Backslash Escape-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 selbst, sondern interpretieren sie in einigen anderen Zeichen. Einige häufig verwendete Escape-Sequenzen sind:
Charakter | Beschreibung |
---|---|
\\ | Druckt Backslash-Zeichen |
\b | Druckt Backspace-Zeichen |
\n | Druckt die Ausgabe in einer neuen Zeile |
\r | Druckt einen Wagenrücklauf (Cursor am Anfang der Zeile) |
\t | Gibt Tab-Platz von rechts |
\v | Gibt Tab-Platz |
Fazit:
Wenn es darum geht, etwas in Bash-Skripten zu drucken, wird der Befehl „echo“ am häufigsten verwendet, da er einfach zu verwenden und zu merken ist. Aber der Befehl „echo“ hat seine Grenzen. Um die Ausgabe richtig zu formatieren, "drucken" Befehl kann verwendet werden. Das "drucken" Der Befehl enthält viele Optionen zum Formatieren der Zeichenfolgenausgabe und sogar zur Konvertierung und Formatierung grundlegender Zahlen. In diesem Handbuch werden die Funktionen des Befehls „printf“ bei der Bash-Skripterstellung anhand von Beispielen ausführlich erläutert.