Programmation BASH

Commande Bash Printf

Commande Bash Printf
En travaillant avec des scripts bash, nous utilisons principalement la commande « echo » pour imprimer n'importe quelle sortie, ce qui est pratique et facile à utiliser et répond aux exigences la plupart du temps. Mais la simplicité vient avec une limitation ; La commande echo a sa propre limitation en ce qui concerne le formatage de la sortie, dans ce cas, "imprimer” la commande joue son rôle.

Le "imprimer" La commande dans les scripts bash fonctionne de la même manière "printf ()” fonctionne en langage C. Cet article se concentrera sur le "imprimer” commande, sa syntaxe et des exemples qui élaborent davantage l'utilisation de cette commande. Vérifions la syntaxe du "imprimer" commande :

imprimer

: Il est facultatif d'affecter la sortie à une variable.
: Il s'agit d'une chaîne qui peut contenir différents spécificateurs de format tels que "%s", "%b", "%d", "%f" et la barre oblique inverse
: Les arguments peuvent être n'importe quelle valeur ou variable

Comment utiliser la commande printf dans les scripts bash à l'aide de l'éditeur Vim :

Nous utilisons l'éditeur Vim pour ce guide en raison de sa riche fonctionnalité et de sa facilité d'utilisation. Obtenez Vim sur votre appareil en utilisant :

$ sudo apt installer vim

Lancez l'éditeur de vim :

$ vim

Écrivons un programme simple pour imprimer une chaîne en utilisant "printf":

#! /bin/bash
printf "Bonjour Linuxhint"

Pour enregistrer le fichier, appuyez sur la touche "Esc” pour changer de mode, puis tapez ":w exemple.sh" puis "Entréer". Ouvrez maintenant une nouvelle fenêtre de terminal et tapez :

$bash exemple.sh

La commande ci-dessus exécutera le script d'impression du texte "hello linuxhint" comme indiqué ci-dessous :

Maintenant, incluons quelques spécificateurs de format :

#! /bin/bash
printf "%s\n" "Bonjour Linuxhint"

Dans l'exemple ci-dessus, "%s" indique que l'argument correspondant doit être traité comme une chaîne et "\n" pour la nouvelle ligne. De même, si nous utilisons « %d », alors l'argument sera traité comme un entier :

#! /bin/bash
printf "%s\n" "Bonjour Linuxhint" "En savoir plus sur" "Linux"

Les trois arguments seront traités comme une chaîne et imprimés dans une nouvelle ligne, comme illustré dans la sortie suivante :

Un autre exemple est mentionné ci-dessous pour mieux comprendre l'utilisation de la commande « printf » :

#! /bin/bash
echo "Entrez votre nom"
lire le nom
echo "Entrez votre âge"
lire l'âge
printf "Votre nom : %s\nVotre âge : %s\n" "$nom" "$age"

« Votre nom : %s\n Votre âge : %s\n » est au format alors que « $name » "$age" sont les arguments. Considérant que « %s » pointant les arguments.

Comment utiliser les spécificateurs de conversion avec la commande printf :

Les spécificateurs de conversion sont des caractères utilisés avec le signe « % » pour indiquer comment traiter les arguments. Vérifions la liste de certains spécificateurs couramment utilisés :

Spécificateur description
%% Imprime le symbole « % »
%c Prend les arguments comme un seul caractère
%e et %E Prend l'argument en nombre à virgule flottante et imprime en notation exponentielle, %e pour les lettres minuscules et %E pour majuscule
%g et %G Prend l'argument en nombre à virgule flottante et imprime en notation normale ou exponentielle
%F Prend l'argument sous forme de nombres flottants
%ré Prend les arguments comme des entiers signés
%u Prend l'argument sous forme d'entiers non signés
%o Prend l'argument comme un nombre octal non signé
%x et %X Prend les arguments sous forme d'entiers hexadécimaux non signés

Développons davantage les spécificateurs ci-dessus avec un exemple en bash :

#! /bin/bash
echo "Entrez un nombre à convertir"
lire le numéro
printf « Décimal : %d\nOctal : %o\nHex : %X\n » « $nombre » « $nombre » « $nombre »

Comment utiliser les directives Flag, Width et Precision avec la commande printf :

Les directives Flag sont fournies avec une utilisation facultative avec la commande "printf". Les directives flag couramment utilisées sont

  • "-" Justifier à gauche la sortie
  • "+" Ajoute le signe "+" avec un entier
  • "0" Ajoute "0" avec un nombre au lieu d'espaces

Les directives de largeur ajoutent de l'espace avec la sortie généralement utilisée après le drapeau. Comprenons-le avec un exemple :

#! /bin/bash
echo "Entrez votre nom"
lire le nom
echo "Entrez votre âge"
lire l'âge
printf "Votre nom et âge sont : %5s %5d\n" "$nom" "âge"

"%30s" signifie que l'espace est de 30 caractères, et pour aligner le formulaire de sortie à gauche, utilisez le signe "-" "%-30s".

La directive de précision se compose du point ".” Suite d'entier positif :

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

La sortie serait :

Si le nombre est un entier, la directive de précision ajoutera « 0 » avant le nombre. Si le nombre est de type virgule flottante, la directive de précision spécifiera le nombre de chiffres positifs après la virgule décimale. Pour la chaîne, il spécifie le nombre de caractères à afficher :

#! /bin/bash
printf "%.2f\n” 2.468936
printf « %.3d\n” 10
printf « %.3s\n" "samlinux"

Paramètres échappés de barre oblique inverse :

Les paramètres d'échappement de la barre oblique inverse, également appelés séquences d'échappement, sont utilisés avec une barre oblique inverse pour formater la chaîne avec la commande "printf". Ces séquences ne se représentent pas mais interprètent en d'autres caractères. Certaines séquences d'échappement couramment utilisées sont :

Personnage La description
\\ Imprime le caractère barre oblique inverse
\b Imprime le caractère de retour arrière
\n Imprime la sortie dans une nouvelle ligne
\r Imprime un retour chariot (curseur en début de ligne)
\t Donne un espace de tabulation à partir de la droite
\v Donne un espace de tabulation

Conclusion:

Lorsqu'il s'agit d'imprimer quelque chose dans un script bash, la commande « echo » est la plus couramment utilisée car elle est facile à utiliser et à mémoriser. Mais la commande « echo » a ses limites. Par conséquent, pour formater correctement la sortie, le « imprimé » la commande peut être utilisée. le « imprimé » La commande est livrée avec de nombreuses options pour formater la sortie de chaîne et même les conversions et le formatage des nombres de base. Ce guide comprend parfaitement les fonctionnalités de la commande "printf" dans les scripts bash avec des exemples.

Meilleurs jeux de laboratoire d'applications Oculus
Si vous êtes propriétaire d'un casque Oculus, vous devez être au courant du chargement latéral. Le chargement latéral est le processus d'installation ...
Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...
5 meilleurs jeux d'arcade pour Linux
De nos jours, les ordinateurs sont des machines sérieuses utilisées pour les jeux. Si vous ne pouvez pas obtenir le nouveau score élevé, vous saurez c...