Como usar o comando Echo no Linux
O comando echo é perfeito para escrever texto formatado na janela do terminal.E não precisa ser texto estático. Pode incluir variáveis de shell, nomes de arquivos e diretórios. Você também pode redirecionar o eco para criar arquivos de texto e arquivos de log. Siga este guia simples para descobrir como.
O Echo repete o que você deve repetir
Zeus gostava de deixar o Monte Olimpo em consorte com belas ninfas. Em uma viagem, ele disse a uma ninfa da montanha chamada Echo para atrapalhar sua esposa, Hera, se ela o seguisse. Hera veio procurar Zeus, e Echo fez todo o possível para manter Hera em conversa. Por fim, Hera perdeu a paciência e amaldiçoou o pobre Echo, para que ela apenas repetisse as últimas palavras que alguém havia dito.O que Hera fez com Zeus quando o alcançou é o palpite de alguém.E isso, basicamente, é o eco da vida. Repete o que foi dito para repetir. Essa é uma função simples, mas vital. Sem eco, não seríamos capazes de obter resultados visíveis a partir de scripts shell, por exemplo.
Embora não seja carregado com uma infinidade de sinos e assobios, há uma boa chance de que o eco tenha ocorrido. alguns recursos que você não conhecia ou que você tinha esquecido.
eco?eco!
A maioria dos sistemas Linux fornece duas versões do eco.O shell Bash tem seu próprio eco embutido e também existe uma versão executável binária do eco.
Podemos ver as duas versões diferentes usando os seguintes comandos:
tipo eco
onde é eco
O comando type diz-nos se o comando que passamos para ele como argumento éum shell embutido, um executável binário, um alias ou uma função. Ele nos informa que o eco é um shell embutido.
Assim que encontra uma resposta, o tipo para de procurar outras correspondências. Portanto, ele não nos diz se existem outros comandos com o mesmo nome presentes no sistema. Mas nos diz qual deles encontra primeiro.E esse é o que será usado por padrão quando emitirmos esse comando.
O comando whereis procura o executável binário, o código-fonte e a página de manual do comando que passamos a ele comoseu parâmetro de linha de comando. Ele não procura por componentes internos do shell, porque eles não têm um executável binário separado. Eles são parte integrante do executável Bash.
O comando whereis relata que echo é um executável binário localizado no diretório / bin.
Para usar essa versão do echovocê precisaria chamá-lo explicitamente, fornecendo o caminho para o executável na linha de comando:
/ bin / echo --version
O shell embutido não sabe qual é o argumento da linha de comando --version, apenas o repete na janela do terminal:
echo --version
Os exemplos mostrados aqui usam a versão padrão do eco, no shell Bash.
Gravando texto no terminal
Para escrever uma string simplesde texto na janela do terminal, digite echo e a string que você deseja exibir:
echo Meu nome é Dave.
Oo texto é repetido para nós. Mas, ao experimentar, você logo descobrirá que as coisas podem ficar um pouco mais complicadas. Veja este exemplo:
echo Meu nome é Dave e sou um nerd.
A janela do terminal exibe um >assine e fica lá, esperando. Ctrl + C retornará você ao prompt de comando.O que aconteceu lá?
A citação simples ou apóstrofo na palavra "eu" ’ m ”eco confuso. Ele interpretou essa citação única como o início de uma seção de texto citada. Como ele não detectou uma citação única de fechamento, o eco estava esperando por mais informações. Esperava que mais informações incluíssem as aspas simples que estavam aguardando.
Para incluir uma aspas simples em uma sequência, a solução mais simples é envolver a sequência inteira entre aspas duplas:
echo "Meu nome é Dave e sou um nerd."
Envolvendo seu texto entre aspas duplas é um bom conselho geral. Nos scripts, delimita claramente os parâmetros que você está passando para ecoar. Isso torna os scripts de leitura e depuração muito mais fáceis.
E se você quiser incluir um caractere de aspas duplas na sua sequência de texto?Isso é fácil, basta colocar uma barra invertida \ na frente da aspas duplas (sem espaço entre elas).
echo "Meu nome é Dave e sou um" nerd "."
Isso envolve a palavra "nerd" # 8201;entre aspas duplas para nós. Em breve, veremos mais desses caracteres com escape de barra invertida.
Usando variáveis com eco
Até agora, escrevemos texto predefinido na janela do terminal. Podemos usar variáveis com eco para produzir uma saída mais dinâmica e com valores inseridos nela pelo shell. Podemos definir uma variável simples com este comando:
my_name = "Dave"
Uma variável chamada my_name foi criada. Foi atribuído o valor do texto "Dave". ”Podemos usar o nome da variável nas strings que passamos para ecoar, e o valor da variável será gravado na janela do terminal. Você deve colocar um cifrão $ na frente do nome da variável para que o eco saiba que é uma variável.
Há uma ressalva. Se você enrolou sua corda em aspas simples, o eco tratará tudo literalmente. Para exibir o valor da variável, e não o nome da variável, use aspas duplas.
echo 'Meu nome é $ my_name'
echo "Meu nome é $ my_name "
De certa forma, vale a pena repetir:
- Usar aspas simples resulta no textosendo gravado na janela do terminal de maneira literal.
- O uso de aspas duplas resulta na interpretação da variável — também chamada expansão de variável — e o valor é gravado na janela do terminal.
RELACIONADO: Como trabalhar com variáveis no Bash
Usando comandos com eco
Podemos usar um comando com eco e incorporar sua saída na stringque está gravado na janela do terminal. Devemos usar o cifrão $ como se o comando fosse uma variável e agrupar todo o comando entre parênteses.
Vamos usar o comando date. Uma dica é usar o comando por conta própria antes de começar a usá-lo com eco. Dessa forma, se houver algo errado com a sintaxe do seu comando, você o identifica e o corrige antes de incluí-lo no comando echo. Então, se o comando echo não fizer o que você espera, você saberá que o problema deve estar na sintaxe do eco, porque você já provou a sintaxe do comando.
Então, tente isso na janela do terminal:
date +% D
E, satisfeitos que estamosobtendo o que esperamos do comando date, nós o integraremos em um comando echo:
echo "A data de hoje é: $ (date +% D)"
Observe que o comando está entre parênteses e o cifrão $ está imediatamente antes do primeiro parêntese.
Formatando texto com eco
The -eA opção (ativar escapes de barra invertida) permite usar alguns caracteres de escape de barra invertida para alterar o layout do texto. Estes são os caracteres com escape de barra invertida que podemos usar:
- \ a: Alert (historicamente conhecido como BEL). Isso gera o som de alerta padrão.
- \ b: Grava um caractere de backspace.
- \ c: Abandona qualquer saída posterior.
- \ e: Grava uma fugacaractere.
- \ f: grava um caractere de feed de formulário.
- \ n: grava uma nova linha.
- \ r: grava um retorno de carro.
- \ t: grava uma guia horizontal.
- \ v: grava uma guia vertical.
- \\: grava um caractere de barra invertida.
Vamos usar alguns deles e ver o que eles fazem.
echo -e "Esta é uma longa linha de texto \ nsplit em três linhas \ ncom \ ttabs \ton \ tthe \ tthird \ tline "
O texto é dividido em uma nova linha onde usamos os \ n caracteres e uma guia é inserida onde #8217; usei os caracteres \ t.
echo -e "Aqui \ vare \ vvertical \ vtabs"
Como o \ nPara novos caracteres de linha, uma guia vertical \ v move o texto para a linha abaixo. Mas, diferentemente dos \ n caracteres da nova linha, a guia vertical \ v não inicia a nova linha na coluna zero. Ele usa a coluna atual.
Os caracteres de backspace \ b movem o cursor para trás um caractere. Se houver mais texto a ser gravado no terminal, esse texto substituirá o caractere anterior.
echo -e "123 \ b4"
O “ 3 ”é sobrescrito pelo “ 4 ”.
O caractere de retorno de carro faz com que o eco retorne ao início da linha atual e escreva qualquer texto adicional da coluna zero.
eco -e "123 \ r456"
O “ 123 ”os caracteres são substituídos pelo “ 456 ”caracteres.
O caractere \ a alerta produzirá um sinal sonoro audível. ”Ele usa o som de alerta padrão para o seu tema atual.
echo -e "Dê um bipe \ a"
O -n (nenhuma opção de nova linha) não é uma sequência com escape de barra invertida, mas afeta os cosméticos do layout do texto, portanto, discutiremos aqui. Impede que o eco adicione uma nova linha ao final do texto.O prompt de comando aparece diretamente após o texto gravado na janela do terminal.
echo -n "nenhuma nova linha final"
Usandoeco com arquivos e diretórios
Você pode usar o eco como uma espécie de versão pobre do ls. Suas opções são poucas e distantes quando você usa eco assim. Se você precisar de algum tipo de fidelidade ou controle fino, será melhor usar ls e sua legião de opções.
Este comando lista todos os arquivos e diretórios no diretório atual:
echo *
Este comando lista todos os arquivos e diretórios no diretório atual cujo nome começa com “ D ”:
echo D *
Este comando lista todos os “ . desktop ”arquivos no diretório atual:
eco * . desktop
Sim. Isso não está tocando para ecoar os pontos fortes de. Use ls.
Gravando em arquivos com eco
Podemos redirecionar a saída do eco e criar arquivos de texto ou gravar em arquivos de texto existentes.
Seuse o >operador de redirecionamento, o arquivo será criado se ele não existir. Se o arquivo existir, a saída do eco será adicionada no início do arquivo, substituindo qualquer conteúdo anterior.
Se usarmos o > >operador de redirecionamento, o arquivo será criado se ele não existir.A saída do eco é adicionada ao final do arquivo e não substitui nenhum conteúdo existente do arquivo.
echo "Criando um novo arquivo.">sample. txt
echo "Adicionando ao arquivo."> >sample. txt
cat sample. txt
Um novo arquivo é criado pelo primeiro comando e o texto é inserido nele.O segundo comando adiciona uma linha de texto na parte inferior do arquivo.O comando cat exibe o conteúdo do arquivo na janela do terminal.
E, é claro, podemos incluir variáveis para adicionar algumas informações úteis ao nosso arquivo. Se o arquivo for um arquivo de log, convém adicionar um carimbo de data / hora. Podemos fazer isso com o próximo comando.
Observe as aspas simples ao redor dos parâmetros do comando date. Eles impedem que o espaço entre os parâmetros seja interpretado como o final da lista de parâmetros. Eles garantem que os parâmetros sejam passados para a data corretamente.
echo "Arquivo de log iniciado: $ (date + '% D% T')" >logfile. txt
cat logfile. txt
Nosso arquivo de log é criado para nós e o cat mostra que o carimbo de data e hora foram adicionados.
RELACIONADOS: O que são stdin, stdout e stderr no Linux?
Esse é o eco do repertório do repertório
Um simplescomando, mas indispensável. Se não existisse, teríamos que inventá-lo.
As travessuras de Zeus fizeram algum bem, afinal de contas.
Via: How to Geek
Nenhum comentário