Programação BASH

Comando Bash Printf

Comando Bash Printf
Trabalhando com script bash, usamos principalmente o comando “echo” para imprimir qualquer saída, que é conveniente e fácil de usar e atende aos requisitos na maioria das vezes. Mas a simplicidade vem com limitações; O comando echo tem sua própria limitação quando se trata de formatar a saída, nesse caso, “printf”Comando desempenha seu papel.

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.
: É uma string que pode conter especificadores de formato diferentes, como “% s”, “% b”, “% d”, “% f” e escape de barra invertida
: Os argumentos podem ser qualquer valor ou 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 vim

Inicie o editor vim:

$ vim

Vamos escrever um programa simples para imprimir uma string usando “printf”:

#! / bin / bash
printf “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.sh

O comando acima irá executar o script e imprimir o texto “hello linuxhint” conforme mostrado abaixo:

Agora, vamos incluir alguns especificadores de formato:

#! / bin / bash
printf “% 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 / bash
printf “% 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 / bash
echo “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 / bash
echo “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 / bash
echo “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 / bash
printf “%.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 / bash
printf “%.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.

Mecanismos de jogos gratuitos e de código aberto para o desenvolvimento de jogos Linux
Este artigo cobrirá uma lista de mecanismos de jogo gratuitos e de código aberto que podem ser usados ​​para desenvolver jogos 2D e 3D no Linux. Exist...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider é a décima segunda adição à série Tomb Raider - uma franquia de jogos de ação e aventura criada pela Eidos Montreal. O jogo ...
Como aumentar o FPS no Linux?
FPS significa Quadros por segundo. A tarefa do FPS é medir a taxa de quadros em reproduções de vídeo ou desempenho de jogos. Em palavras simples, o nú...