Como Usar o Comando Echo no Linux

Fatmawati Ela Zaenuri/

echo comando é perfeito para a escrita de texto formatado para a janela de terminal. E não tem de ser texto estático. Ele pode incluir variáveis de shell, nomes de arquivos e diretórios. Você também pode redirecionar echo para criar arquivos de texto e arquivos de registro. Siga este guia simples para descobrir como.

Echo repete o que lhe diz para repetir

Zeus gostava de deixar o Monte Olimpo para se unir com belas ninfas. Em uma viagem, ele disse a uma ninfa da montanha chamada Echo para waylay sua esposa, Hera, se ela o seguiu. Hera veio à procura de Zeus, e Echo fez tudo o que podia para manter Hera em conversa. Finalmente, Hera perdeu a calma e amaldiçoou o pobre Eco para que ela só repetisse as últimas palavras que outra pessoa tinha dito. O que Hera fez a Zeus quando o apanhou é uma suposição.

E que, basicamente, é echo ‘s lot in life. Repete o que lhe foi dito para repetir. É uma função simples, mas vital. Sem echo , seríamos incapazes de obter saída visível de scripts shell, por exemplo.apesar de não estar carregado com uma multidão de sinos e assobios, há uma boa chance de que echo tenha algumas capacidades que você não sabia ou que havia esquecido.eco? echo!

a maioria dos sistemas Linux fornecem duas versões de echo. The Bash shell has its own echo built into it, and there’s a binary executable version of echo as well.

podemos ver as duas versões diferentes usando os seguintes comandos:

type echo
whereis echo

type comando nos diz se o comando podemos passar para ele como seu argumento é um embutidos da shell, um binário executável, um alias, ou uma função. It reports to us that echo is a shell builtin.

assim que tenha encontrado uma resposta, pára de procurar por mais fósforos. Então ele não nos diz se existem outros comandos com o mesmo nome presentes no sistema. Mas diz-nos qual 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 man para o comando que lhe passamos como parâmetro da linha de comandos. Ele não procura por builtins shell porque eles não têm um executável binário separado. São parte integrante do executável Bash.

whereis comando relata que echo é um binário executável localizado no /bin diretório.

Para utilizar essa versão do echo você precisa chamar explicitamente ao fornecer o caminho para o arquivo executável na linha de comando:

/bin/echo --version

Os embutidos da shell não sabe o que o --version argumento de linha de comando é, ele apenas repete-o na janela de terminal:

echo --version

Os exemplos mostrados aqui todos usam a versão padrão do echo, o shell Bash.

a Escrever um Texto para o Terminal

Para escrever uma simples seqüência de caracteres de texto para a janela do terminal, digite echo e a seqüência de caracteres que você deseja exibir:

echo My name is Dave.

O texto é repetido para nós. Mas à medida que experimentam, vão descobrir que as coisas podem ficar um pouco mais complicadas. Veja este exemplo.:

echo My name is Dave and I'm a geek.

A janela de terminal exibe uma > sinal e fica lá, esperando. O Ctrl+C irá devolvê-lo à linha de comandos. O que aconteceu lá?

a única citação ou apóstrofo na palavra” i’m “confuso echo. Interpretou essa única citação como o início de uma parte citada do texto. Como ele não detectou uma única citação de fechamento, echo estava esperando por Mais entrada. Esperava que outros dados incluíssem a citação que faltava.

Para incluir uma aspa simples em uma seqüência de caracteres, a solução mais simples é envolver toda a cadeia dentro de aspas duplas:

echo "My name is Dave and I'm a geek."

Quebra automática de texto em aspas duplas é em geral um bom conselho. Em scripts, delimita claramente os parâmetros que você está passando para echo. Isso torna a leitura—e depuração—scripts muito mais fácil.

E se quiser incluir um carácter de citação dupla na sua sequência de texto? Isso é fácil, basta colocar uma barra invertida na frente da marca de aspas duplas (sem espaço entre elas).

echo "My name is Dave and I'm a \"geek.\""

Este envolve a palavra “geek” em aspas duplas para nós. Veremos mais destes fugitivos em breve.

usando variáveis com Eco

até agora, temos escrito texto predefinido para a janela do terminal. Podemos usar variáveis com echo para produzir uma saída mais dinâmica e com valores inseridos nela para nós pela shell. Podemos definir uma variável simples com este comando:

my_name="Dave"

Uma variável chamada my_name foi criado. Foi atribuído o valor do texto “Dave.”Nós podemos usar o nome da variável nas strings que passamos para echo , e o valor da variável será escrito na janela terminal. Você deve colocar um sinal de Dólar $ na frente do nome da variável para deixar echo saber que é uma variável.há uma advertência. Se você embrulhou a sua corda em simples marcas de citação echo irá tratar tudo literalmente. Para ter o valor variável exibido, e não o nome da variável, use marcas de aspas duplas.

echo 'My name is $my_name'
echo "My name is $my_name"

um Pouco apropriadamente, que vale a pena repetir:

  • Usando aspas simples resulta no texto que está sendo escrito para a janela de terminal em um literal de moda.
  • usando marcas de aspas duplas resulta na variável sendo interpretada-também chamada de expansão variável-e o valor é escrito na janela de terminal.

relacionado: como trabalhar com variáveis na Bash

usando comandos com Eco

podemos usar um comando com echo e incorporar a sua saída na cadeia que está escrita na janela terminal. Devemos usar o símbolo do dólar $ como se o comando fosse uma variável, e embrulhar todo o comando entre parênteses.vamos usar o comando date. Uma dica é usar o comando sozinho antes de começar a usá-lo com echo. Dessa forma, se houver algo errado com a sintaxe do seu comando, você identificá-lo e corrigi-lo 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 ser com oecho sintaxe porque você já provou a sintaxe do comando.por isso, tente isto na janela do terminal:

date +%D

E, convencido de que estamos recebendo o que esperamos a partir da data de comando, vamos integrá-lo em um echo comando:

echo "Today's date is: $(date +%D)"

Nota do comando está dentro dos parênteses e o sinal de dólar $ é imediatamente antes do primeiro parênteses.

formatação texto com Eco

a opção -e (activar as fugas de barra invertida) permite-nos usar alguns caracteres escapados de barra invertida para alterar a disposição do texto. Estes são os caracteres escapados de backslash que podemos usar:

vamos usar alguns deles e ver o que eles fazem.

echo -e "This is a long line of text\nsplit across three lines\nwith\ttabs\ton\tthe\tthird\tline"

O texto é dividido em uma nova linha onde usamos o \n caracteres e é inserida uma tabulação onde usamos o \t caracteres.

echo -e "Here\vare\vvertical\vtabs"

Como o \n caracteres de nova linha vertical separador \v move o texto para a linha abaixo. Mas, ao contrário do \n caracteres de nova linha, a página\v vertical não inicia a nova linha na coluna zero. Usa a coluna actual.

O\b caracteres de backspace movem o cursor para trás um carácter. Se houver mais texto para ser escrito no terminal, esse texto irá sobrepor o carácter anterior.

echo -e "123\b4"

O “3” é sobre-escrito pelo “4”.

o\r carriage return character causesecho to return to the start of the current line and to write any further text from column zero.

echo -e "123\r456"

“123” caracteres são substituídos por “456” caracteres.

The\a alert character will produce an audible “bleep.”Ele usa o som de alerta padrão para o seu tema atual.

echo -e "Make a bleep\a"

-n (não newline) opção não é uma barra invertida escapou seqüência, mas não afeta os cosméticos de layout de texto, então vamos discutir isso aqui. Impede echo de adicionar uma nova linha ao fim do texto. A linha de comandos aparece logo a seguir ao texto que é escrito na janela do terminal.

echo -n "no final newline"

Usando o comando ” echo Com Arquivos e Diretórios

Você pode usar echo como uma espécie de versão pobre de ls. As suas opções são poucas e distantes entre si quando utiliza echo desta forma. Se você precisar de qualquer tipo de fidelidade ou controle fino, você está melhor usando ls e sua legião de opções.

Este comando lista todos os ficheiros e pastas da pasta actual:

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 todas as “.ficheiros “desktop” na pasta actual:

echo *.desktop

Sim. Isto não está a tocar para os pontos fortes deecho. Use ls.

escrevendo para arquivos com Eco

podemos redirecionar a saída de echo e criar arquivos de texto ou escrever para arquivos de texto existentes.

If we use the> Redirection operator, the file is created if it does not exist. Se o ficheiro existir, a saída de echo é adicionada no início do ficheiro, sobrepondo qualquer conteúdo anterior.

Se usarmos o operador de redirecionamento >>, O arquivo é criado se não existir. A saída de echo é adicionada ao fim do ficheiro e não substitui qualquer conteúdo existente do ficheiro.

echo "Creating a new file." > sample.txt
echo "Adding to the file." >> sample.txt
cat sample.txt

Um novo arquivo é criado, o primeiro comando, e o texto é inserido. O segundo comando adiciona uma linha de texto ao fundo do arquivo. O comando cat mostra o conteúdo do ficheiro na janela do terminal.

E, Claro, podemos incluir variáveis para adicionar alguma informação útil ao nosso arquivo. Se o arquivo é um logfile, nós podemos querer ter um timestamp adicionado a ele. Podemos fazer isso com o próximo comando.

Note as marcas de aspas simples em torno dos parâmetros para o comando date. Impedem que o espaço entre os parâmetros seja interpretado como o fim da lista de parâmetros. Eles garantem que os parâmetros são passados para date corretamente.

echo "Logfile started: $(date +'%D %T')" > logfile.txt
cat logfile.txt

o Nosso arquivo de log é criado por nós e cat nos mostra que o datestamp e carimbo de data / hora ambos foram adicionados a ele.

relacionado: O que são stdin, stdout e stderr no Linux?

este é o repertório de echo

um comando simples, mas indispensável. Se não existisse, teríamos de o inventar.as brincadeiras de Zeus fizeram bem, afinal de contas.



Deixe uma resposta

O seu endereço de email não será publicado.