Programmazione BASH

Bash Printf comando

Bash Printf comando
Lavorando con lo scripting bash, utilizziamo principalmente il comando "echo" per stampare qualsiasi output, che è comodo e facile da usare e soddisfa i requisiti per la maggior parte del tempo. Ma la semplicità ha dei limiti; Il comando echo ha i suoi limiti quando si tratta di formattare l'output, in tal caso, "printfIl comando fa il suo ruolo.

Il "printf" Il comando nello scripting bash funziona allo stesso modo "printf()” funziona in linguaggio C. Questo post si concentrerà sul "printf"comando, la sua sintassi ed esempi che elaborano ulteriormente l'uso di questo comando. Controlliamo la sintassi del "printfcomando:

printf

: È facoltativo assegnare l'output a una variabile.
: è una stringa che può contenere diversi identificatori di formato come "%s", "%b", "%d", "%f" e backslash escape
: Gli argomenti possono essere qualsiasi valore o variabile

Come usare il comando printf negli script bash usando l'editor Vim:

Stiamo usando l'editor Vim per questa guida per la sua ricca funzionalità e facilità d'uso. Ottieni Vim sul tuo dispositivo usando:

$ sudo apt install vim

Avvia l'editor vim:

$ vim

Scriviamo un semplice programma per stampare una stringa usando “printf”:

#! /bin/bash
printf “Ciao Linuxhint”

Per salvare il file, premere il tasto "Esc” per cambiare modalità e poi digitare “:w esempio.sh" e poi "enter". Ora apri una nuova finestra di terminale e digita:

$bash esempio.sh

Il comando precedente eseguirà lo script e stampa il testo "hello linuxhint" come mostrato di seguito:

Ora includiamo alcuni identificatori di formato:

#! /bin/bash
printf “%s\n” “Ciao Linuxhint”

Nell'esempio sopra, "%s" dice che l'argomento corrispondente deve essere trattato come stringa e "\n" per la nuova riga. Allo stesso modo, se usiamo "%d", l'argomento verrà trattato come un numero intero:

#! /bin/bash
printf “%s\n” “Ciao Linuxhint” “Informazioni su” “Linux”

Tutti e tre gli argomenti verranno trattati come una stringa e stampati in una nuova riga come dimostrato nel seguente output:

Un altro esempio è menzionato di seguito ulteriormente per comprendere l'uso del comando "printf":

#! /bin/bash
echo “Inserisci il tuo nome”
leggi il nome
echo “Inserisci la tua età”
leggi l'età
printf “Il tuo nome: %s\nLa tua età: %s\n” “$nome” “$età”

"Il tuo nome: %s\n La tua età: %s\n" è il formato mentre "$nome" "$età" sono gli argomenti. Considerando che "%s" indica gli argomenti.

Come utilizzare gli identificatori di conversione con il comando printf:

Gli specificatori di conversione sono caratteri utilizzati con il segno "%" per indicare come trattare gli argomenti. Controlliamo l'elenco di alcuni identificatori comunemente usati:

Specificatore Discrizione
%% Stampa il simbolo "%"
%c Accetta gli argomenti come un singolo carattere
%e e %E Accetta l'argomento in un numero in virgola mobile e stampa in notazione esponenziale, %e per le lettere minuscole e %E per la maiuscola
%g e %G Accetta l'argomento in un numero in virgola mobile e stampa in notazione normale o esponenziale
%f Accetta argomenti come numeri mobili
%d Accetta gli argomenti come interi con segno
%u Accetta l'argomento come interi senza segno
%o Accetta l'argomento come un numero ottale senza segno
%x e %X Accetta gli argomenti come interi esadecimali senza segno

Elaboriamo ulteriormente gli specificatori di cui sopra con un esempio in bash:

#! /bin/bash
echo “Inserisci un numero da convertire”
leggi il numero
printf “Decimale : %d\nOttale : %o\nHex : %X\n” “$numero” “$numero” “$numero”

Come utilizzare le direttive Flag, Width e Precision con il comando printf:

Le direttive flag hanno un uso facoltativo con il comando "printf". Le direttive di flag comunemente usate sono

  • “-” Sinistra giustifica l'output
  • "+" Aggiunge il segno "+" con un numero intero
  • "0" Aggiunge "0" con un numero invece di spazi

Le direttive di larghezza aggiungono spazio con l'output solitamente utilizzato dopo il flag. Capiamolo con un esempio:

#! /bin/bash
echo “Inserisci il tuo nome”
leggi il nome
echo “Inserisci la tua età”
leggi l'età
printf “Il tuo nome e la tua età sono: %5s %5d\n” “$nome” “età”

"% 30s" significa che lo spazio è lungo 30 caratteri e per allineare il modulo di output a sinistra, utilizzare il segno "-" "%-30s".

La direttiva di precisione è costituita dal punto “.” Seguito da un numero intero positivo:

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

L'output sarebbe:

Se il numero è un numero intero, la direttiva di precisione aggiungerà "0" prima del numero. Se il numero è di tipo a virgola mobile, la direttiva precision specificherà il numero di cifre positive dopo il punto decimale. Per la stringa, specifica il numero di caratteri da visualizzare:

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

Parametri di escape con barra rovesciata:

I parametri di escape della barra rovesciata, detti anche sequenze di escape, vengono utilizzati con una barra rovesciata per formattare la stringa con il comando "printf". Queste sequenze non rappresentano se stesse ma interpretano in alcuni altri personaggi. Alcune sequenze di escape comunemente usate sono:

Personaggio Descrizione
\\ Stampa il carattere barra rovesciata
\b Stampa il carattere backspace
\n Stampa l'output in una nuova riga
\r Stampa un ritorno a capo (cursore all'inizio della riga)
\t Dà spazio alle tabulazioni da destra
\v Dà spazio alla tabulazione

Conclusione:

Quando si tratta di stampare qualcosa negli script bash, il comando "echo" è più comunemente usato perché è facile da usare e da ricordare. Ma il comando "eco" ha i suoi limiti. Pertanto, per formattare correttamente l'output, il “stampa” il comando può essere usato. Il “stampa” Il comando viene fornito con molte opzioni per formattare l'output di stringhe e persino conversioni e formattazione di numeri di base. Questa guida comprende a fondo la funzionalità del comando "printf" nello scripting bash con esempi.

Installa l'ultimo Dolphin Emulator per Gamecube e Wii su Linux
L'emulatore Dolphin ti consente di giocare ai giochi Gamecube e Wii scelti su Personal Computer Linux (PC). Essendo un emulatore di giochi liberament...
Come utilizzare GameConqueror Cheat Engine in Linux
L'articolo copre una guida sull'utilizzo del motore cheat GameConqueror in Linux. Molti utenti che giocano su Windows utilizzano spesso l'applicazione...
I migliori emulatori di console di gioco per Linux
Questo articolo elencherà il popolare software di emulazione della console di gioco disponibile per Linux. L'emulazione è un livello di compatibilità ...