BASH-Programmierung

Bash Printf-Befehl

Bash Printf-Befehl
Bei der Arbeit mit Bash-Skripten verwenden wir meistens den Befehl „echo“, um eine beliebige Ausgabe zu drucken, was bequem und einfach zu verwenden ist und die Anforderung in den meisten Fällen erfüllt. Aber Einfachheit kommt mit Einschränkungen; echo-Befehl hat seine eigene Einschränkung, wenn es um die Formatierung der Ausgabe geht, in diesem Fall “druckenf„Befehl spielt seine Rolle.

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.
: Es ist eine Zeichenfolge, die verschiedene Formatbezeichner wie „%s“, „%b“, „%d“, „%f“ und Backslash-Escape enthalten kann contain
: Die Argumente können ein beliebiger Wert oder eine Variable sein

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 vim

Starten Sie den vim-Editor:

$ vim

Schreiben wir ein einfaches Programm zum Drucken eines Strings mit „printf“:

#! /bin/bash
printf „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.Sch

Der obige Befehl führt das Skript aus und druckt den Text „hello linuxhint“ wie unten gezeigt:

Fügen wir nun einige Formatbezeichner hinzu:

#! /bin/bash
printf „%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/bash
printf „%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/bash
echo „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/bash
echo „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/bash
echo „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/bash
printf “%.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/bash
printf “%.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.

Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...
So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...
Top Oculus App Lab-Spiele
Wenn Sie Besitzer eines Oculus-Headsets sind, müssen Sie über Sideloading informiert sein. Sideloading ist der Prozess der Installation von Inhalten, ...