Der Befehl printf ähnelt echo, bietet dem Benutzer jedoch viel mehr Kontrolle darüber, wie die Ausgabe formatiert wird. Sie können innerhalb des auszugebenden Textes verschiedene Formatzeichen angeben, indem Sie mit einem umgekehrten Schrägstrich (\) angeben, wann sie verwendet werden. Zum Beispiel:
# printf "Hello.\nWhat's your name?"
wird drucken:
Hello. What's your name?
Dies liegt daran, dass \n das Newline-Formatzeichen ist und automatisch eine neue Zeile an jeder Stelle hinzufügt.
Der Befehl printf unterstützt auch Konvertierungszeichen, die ein Prozentzeichen (%) verwenden, um anzuzeigen, wann sie verwendet werden. Konvertierungszeichen werden normalerweise in
Skripten verwendet, um die Ausgabe einer Variablen zu ändern, z. B. um die Anzahl der Dezimalstellen zu diktieren, die nach einer genauen Berechnung gedruckt werden sollen.
printf-Befehlsbeispiele
1. Textnachricht drucken:
# printf "%s\n" "Hello world"
2. Geben Sie eine Ganzzahl in fettem Blau aus:
# printf "\e[1;34m%.3d\e[0m\n" 42
3. Drucken Sie eine Gleitkommazahl mit dem Unicode-Eurozeichen:
# printf "\u20AC %.2f\n" 123.4
4. Drucken Sie eine Textnachricht, die aus Umgebungsvariablen besteht:
# printf "var1: %s\tvar2: %s\n" "$VAR1" "$VAR2"
5. Speichern Sie eine formatierte Nachricht in einer Variablen (funktioniert nicht auf zsh):
# printf -v myvar "This is %s = %d\n" "a year" 2016