O "printf”Comando em script bash funciona da mesma maneira“printf ()”Funciona na linguagem C. Esta postagem focará 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.
Como usar o comando printf no script bash usando o editor Vim:
Estamos usando o editor Vim para este guia por causa de sua rica funcionalidade e facilidade de uso. Obtenha o Vim em seu dispositivo usando:
$ sudo apt install vimInicie o editor vim:
$ vimVamos escrever um programa simples para imprimir uma string usando “printf”:
#! / bin / bashprintf “Olá Linuxhint”
Para salvar o arquivo, pressione o botão “Esc”Para mudar o modo e, em seguida, digite “: W exemplo.sh ”e depois“Enter ”. Agora abra uma nova janela de terminal e digite:
exemplo de $ bash.shO comando acima irá executar o script e imprimir o texto “hello linuxhint” conforme mostrado abaixo:
Agora, vamos incluir alguns especificadores de formato:
#! / bin / bashprintf “% s \ n” “Olá 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 inteiro:
#! / bin / bashprintf “% s \ n” “Hello Linuxhint” “Saiba mais sobre” “Linux”
Todos os três argumentos serão tratados como uma string e impressos em uma nova linha, conforme demonstrado na seguinte saída:
Outro exemplo é mencionado abaixo para entender o uso do comando “printf”:
#! / bin / bashecho “Digite seu nome”
ler o nome
echo “Informe sua idade”
idade de leitura
printf “Seu nome:% s \ nSua idade:% s \ n” “$ name” “$ age”
“Seu nome:% s \ n Sua idade:% s \ n” está no formato, enquanto “$ name” “$ Age” são os argumentos. Enquanto “% s” aponta os argumentos.
Como usar especificadores de conversão com o 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 | Descritura |
---|---|
%% | Imprime o símbolo “%” |
% c | Aceita argumentos como um único caractere |
% e e% E | Pega o argumento em número de ponto flutuante e imprime em notação exponencial, % e para letra minúscula e % E para letra maiúscula |
% g e% G | Pegue o argumento em número de ponto flutuante e imprima em notação normal ou exponencial |
% f | Considera o argumento como números flutuantes |
% d | Aceita argumentos como inteiros assinados |
%você | Aceita o argumento como inteiros sem sinal |
% o | Aceita o argumento como um número octal sem sinal |
% x e% X | Aceita argumentos como inteiros hexadecimais sem sinal |
Vamos elaborar ainda mais os especificadores acima com um exemplo em bash:
#! / bin / bashecho “Digite um número para converter”
ler o número
printf “Decimal:% d \ nOctal:% o \ nHex:% X \ n” “$ number” “$ number” “$ number”
Como usar as diretivas Bandeira, Largura e Precisão com o comando printf:
As diretivas de sinalização vêm com uso opcional com o comando “printf”. As diretivas de sinalização comumente usadas são
- “-” Justificar a saída à esquerda
- “+” Adiciona o sinal “+” com um número inteiro
- “0” Adiciona “0” com um número em vez de espaços
As diretivas de largura adicionam espaço com a saída geralmente usada após o sinalizador. Vamos entender com um exemplo:
#! / bin / bashecho “Digite seu nome”
ler o nome
echo “Informe sua idade”
idade de leitura
printf “Seu nome e idade são:% 5s% 5d \ n” “$ name” “idade”
“% 30s” significa que o espaço tem 30 caracteres e para alinhar o formulário de saída à esquerda, use o sinal “-” “% -30s”.
A diretiva de precisão consiste no ponto “.”Seguido por número inteiro positivo:
#! / bin / bashprintf “%.2f ”2.56473
A saída seria:
Se o número for um inteiro, a diretiva de precisão adicionará "0" antes do número. Se o número for do tipo ponto flutuante, a diretiva de precisão especificará o número de dígitos positivos após o ponto decimal. Para string, especifica o número de caracteres a serem exibidos:
#! / bin / bashprintf “%.2f \ n ”2.468936
printf “%.3d \ n ”10
printf “%.3s \ n ”“ samlinux ”
Parâmetros de escape de barra invertida:
Parâmetros de escape de barra invertida, também chamados de sequências de escape, são usados com uma barra invertida para formatar a string com o comando “printf”. Essas sequências não representam a si mesmas, mas se interpretam em alguns outros caracteres. Algumas sequências de escape comumente usadas são:
Personagem | Descrição |
---|---|
\\ | Imprime uma barra invertida |
\ b | Imprime o caractere backspace |
\ n | Imprime a saída em uma nova linha |
\ r | Imprime um retorno de carro (cursor no início da linha) |
\ t | Dá espaço de tabulação da direita |
\ v | Dá espaço na guia |
Conclusão:
Quando se trata de imprimir algo em script bash, o comando “echo” é mais comumente usado porque é fácil de usar e lembrar. Mas o comando “echo” tem sua limitação. Portanto, para formatar corretamente a saída, o “Printf” o comando pode ser usado. O “Printf” comando vem com muitas opções para formatar a saída de string e até mesmo conversões e formatação de números básicos. Este guia compreende completamente a funcionalidade do comando “printf” em scripts bash com exemplos.