O "printf”Comando em scripts de bash funciona da mesma maneira“printf ()”Funciona no idioma C. Este post se concentrará no “printf”Comando, sua sintaxe e exemplos que elaboram ainda mais o uso deste comando. Vamos verificar a sintaxe do “printf”Comando:
printf
: É opcional atribuir saída a uma variável.
: É uma string que pode conter diferentes especificadores de formato, como "%s", "%b", "%d", "%f" e backslash Escape
: Os argumentos podem ser qualquer valor ou variável
Como usar o comando printf em scripts bash usando o editor vim:
Estamos usando o VIM Editor para este guia devido à sua rica funcionalidade e facilidade de uso. Obtenha o VIM no seu dispositivo usando:
$ sudo apt install vim
Lançar o VIM Editor:
$ vim
Vamos escrever um programa simples para imprimir uma string usando "printf":
#! /BIN/BASH
printf “Hello Linuxhint”
Para salvar o arquivo, pressione o “Esc"Botão para alternar o modo e depois digitar “: W Exemplo.sh "e então"Entedr ”. Agora abra uma nova janela do terminal e digite:
$ Bash Exemplo.sh
O comando acima será executado o script da impressão “Hello Linuxhint”, como mostrado abaixo:
Agora, vamos incluir alguns especificadores de formato:
#! /BIN/BASH
printf “%s \ n” “Hello Linuxhint”
No exemplo acima, "%s" diz que o argumento correspondente deve ser tratado como string e "\ n" para a nova linha. Da mesma forma, se usarmos "%d", o argumento será tratado como um número inteiro:
#! /BIN/BASH
printf “%s \ n” “Hello Linuxhint” “Aprenda sobre” “Linux”
Todos os três argumentos serão tratados como uma corda e impressos em uma nova linha, conforme demonstrado na seguinte saída:
Outro exemplo é mencionado abaixo para entender o uso do comando "printf":
#! /BIN/BASH
eco “digite seu nome”
Leia o nome
eco “entre na sua idade”
Leia a idade
printf “Seu nome: %s \ nyour idade: %s \ n” “$ name” “$ idade”
“Seu nome: %s \ n sua idade: %s \ n” é formato enquanto “$ nome” "$ Idade" são os argumentos. Enquanto "%s" apontando os argumentos.
Como usar especificadores de conversão com comando printf:
Os especificadores de conversão são caracteres usados com o sinal "%" para indicar como tratar os argumentos. Vamos verificar a lista de alguns especificadores comumente usados:
Especificador | Descrenda |
---|---|
%% | Imprime o símbolo “%” |
%c | Toma argumentos como um único personagem |
%E e %E | Aceite o argumento do número de ponto flutuante e impressões em notação exponencial, %e para letra minúscula e %E para letra maiúscula |
%g e %g | Pegue argumento no número de ponto flutuante e impressões em notação normal ou exponencial |
%f | Assume o argumento como números flutuantes |
%d | Leva argumentos como números inteiros assinados |
%você | Toma argumento como números inteiros não assinados |
%o | Argumenta como um número octal não assinado |
%x e %x | Toma argumentos como números inteiros hexadecimais não assinados |
Vamos elaborar ainda mais os especificadores acima com um exemplo em Bash:
#! /BIN/BASH
eco “digite um número para converter”
Número de leitura
printf “decimal: %d \ noctal: %O \ nhex: %x \ n” “$ número” “$ número” “$ número”
Como usar as diretivas de bandeira, largura e precisão com comando printf:
As diretivas de sinalizador vêm com uso opcional com o comando "printf". As diretivas de bandeira comumente usadas são
Diretivas de largura Adicione espaço com a saída geralmente usada após a bandeira. Vamos entender com um exemplo:
#! /BIN/BASH
eco “digite seu nome”
Leia o nome
eco “entre na sua idade”
Leia a idade
printf “Seu nome e idade são: %5s %5d \ n” “$ nome” “idade”
“%30s” significa que o espaço tem 30 caracteres e, para alinhar a forma de saída esquerda, use o sinal “-” “%-30s”.
A diretiva de precisão consiste no ponto “.“Seguindo por número inteiro positivo:
#! /BIN/BASH
printf “%.2f ”2.56473
A saída seria:
Se o número for um número inteiro, a diretiva de precisão adicionará "0" antes do número. Se o número for do tipo de ponto flutuante, a diretiva precisão especificará o número de dígitos positivos após o ponto decimal. Para string, ele especifica o número de caracteres a serem exibidos:
#! /BIN/BASH
printf “%.2f \ n ”2.468936
printf “%.3d \ n ”10
printf “%.3s \ n ”“ Samlinux ”
Parâmetros escapados de barragem:
Os parâmetros de fuga de barragem, também chamados de seqüências de fuga, são usados com uma barra de barra para formatar a string com o comando "printf". Essas seqüências não se representam, mas interpretam em alguns outros personagens. Algumas sequências de fuga comumente usadas são:
Personagem | Descrição |
---|---|
\\ | Imprime o caractere de barragem |
\ b | Imprime o caractere backspace |
\ n | Imprime a saída em uma nova linha |
\ r | Imprime um retorno de carruagem (cursor no início da linha) |
\ t | Dá espaço de guia da direita |
\ v | Dá espaço na guia |
Conclusão:
Quando se trata de imprimir algo em scripts de bash, o comando "Echo" é mais comumente usado porque é fácil de usar e lembre -se. Mas o comando "Echo" tem sua limitação. Portanto, para formatar corretamente a saída, o “Printf” O comando pode ser usado. O “Printf” O comando vem com muitas opções para formatar a saída da string e até as conversões e a formatação dos números básicos. Este guia compreende completamente a funcionalidade do comando "printf" em scripts de bash com exemplos.