Saltar al contenido

Cómo usar el comando Echo en Linux

Una ventana de terminal de Linux en su escritorio con un tema de Ubuntu.
Fatmawati Achmad Zaenuri / Shutterstock

La· echo El comando es ideal para escribir texto formateado en una ventana de terminal. Y no tiene por qué ser texto estático. Puede contener variables de shell, nombres de archivos y directorios. También puede redirigir el eco para crear un archivo de texto y un archivo de registro. Siga esta breve guía sobre cómo hacerlo.

Echo repite lo que dices para repetir

A Zeus le gustaba dejar el monte Olimpo y casarse con una hermosa ninfa.En un viaje fue a una ninfa de la montaña llamada Echo Wayley su esposa, Hera, si ella le obedecía. Hera vino a buscar a Zeus, y Echo hizo todo lo posible para seguir hablando con Hera. Finalmente, Hera perdió los estribos y maldijo un eco pobre, por lo que comenzó a repetir solo la última palabra que alguien más dijo. Es de suponer que Hera lo hizo con Zeus cuando alcanzó a Zeus.

Y es casi echoGran parte de la vida.Lo que repite Me dijeron que repita.. Esta es una característica simple, pero importante.Ninguno echo , Por ejemplo, no puede obtener una salida visible de un script de shell.

No suenan muchas campanas y silbidos, echo Hay algunas funciones que no conocía o que olvidó.

¿eco? ¡eco!

La mayoría de los sistemas Linux ofrecen dos versiones echo..La· Cáscara de Bash Tener la suya propia echo Tiene una versión ejecutable binaria incorporada echo Del mismo modo.

Puedes ver dos versiones diferentes usando el siguiente comando:

type echo
whereis echo

La· type El comando nos dirá Si es un comando para pasar entonces argumento Un shell integrado, un ejecutable binario, un alias o una función.Nos informa echo Carcasa incorporada.

Tan pronto como se encuentre la respuesta type Deja de buscar más coincidencias. Por lo tanto, no se sabe si existe otro comando con el mismo nombre en el sistema. Pero te dice lo que encontró primero. Y eso es lo que usamos por defecto cuando emitimos ese comando.

La· whereis comando busca ejecutables binarios, código fuente y páginas de manual para comandos que usted pasa como línea de comando. Parámetros.. El shell incorporado no se busca porque no hay un ejecutable binario separado. Son una parte integral del ejecutable Bash.

La· whereis El comando lo informa echo Archivo ejecutable binario en /bin directorio.

Para usar esa versión echo Debe llamarlo explícitamente especificando la ruta al archivo ejecutable en la línea de comando.

/bin/echo --version

El caparazón incorporado no sabe qué --version Los argumentos de la línea de comandos simplemente se repiten en la ventana de la terminal.

echo --version

Todos los ejemplos que se muestran aquí utilizan la versión predeterminada de echo, En el caparazón de Bash.

Escribir texto en la terminal

Para escribir una cadena de texto simple en la ventana de terminal, escriba: echo Cadena de caracteres que se mostrará:

echo My name is Dave.

El texto se nos repite. Pero cuando experimentas, es fácil ver que las cosas pueden complicarse un poco. Vea este ejemplo:

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

En la ventana de la terminal > Firma y siéntate esperando. Presione Ctrl + C para volver al símbolo del sistema. ¿Qué sucedió?

La comilla simple o el apóstrofo de la palabra «I’m» es confuso echo.. Interpretó la comilla simple como el comienzo de la sección citada del texto. No detectó la comilla simple de cierre, por lo que echo Estaba esperando más información. Esperaba más información, incluidas las comillas simples faltantes que estaba esperando.

La solución más sencilla para incluir comillas simples en una cadena es encerrar toda la cadena entre comillas dobles.

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

Incluir el texto entre comillas dobles es un buen consejo general. El script separa claramente los parámetros a pasar. echo.. Esto facilita mucho la lectura y la depuración de scripts.

¿Qué pasa si quiero incluir comillas dobles en la cadena de texto?Es fácil, solo ponga una barra invertida Antes de las comillas dobles (sin espacios entre ellas).

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

Esto encierra la palabra «nerd» entre comillas dobles.Verás estos detalles Barra invertida-Escape Personajes pronto.

Uso de variables en eco

Hasta ahora, estoy escribiendo texto predefinido en una ventana de terminal.Puedes usar variables echo Produce una salida insertada en shell más dinámica. Puede definir una variable simple con este comando.

my_name="Dave"

Variable llamada my_name Fue creado. Se le asigna un valor con el texto «Dave».Puede usar el nombre de la variable en la cadena que pasa echo , Y los valores de las variables se escriben en la ventana de la terminal.Debe tener un signo de dólar $ Antes del nombre de la variable echo Sé que es una variable.

Hay una salvedad.Cuando la cadena está entre comillas simples echo Trate todo literalmente.Tener una variable valor Se visualiza, nombres dados Para las variables, use comillas dobles.

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

Ligeramente correctamente, vale la pena repetirlo:

  • usar único Utilice comillas para escribir el texto en la ventana de la terminal. literal Moda.
  • usar doble El uso de comillas interpreta la variable (también conocida como expansión de variable) y valor Se escribirá en la ventana de la terminal.

Relación: Cómo manipular variables en Bash

Usando comandos en echo

Puedes usar el siguiente comando echo Luego incruste la salida en una cadena escrita en la ventana de la terminal.Debe usar el signo de dólar $ Incluya todo el comando entre paréntesis como si fueran variables.

Utilizar el Comando de fecha.. Un consejo es usar el comando solo antes de usarlo. echo.. De esa manera, si hay un problema con la sintaxis del comando, puede identificar y corregir el comando antes de incluirlo en el comando. echo mando. Siguiente, echo Si el comando no funciona como se esperaba, el problema es echo Sintaxis porque ya ha probado la sintaxis del comando.

Así que intente esto en una ventana de terminal:

date +%D

Y cuando esté contento de haber obtenido lo que esperaba del comando de fecha, intégrelo en. echo mando:

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

Observe que el comando está entre paréntesis y el signo de dólar $ Justo antes del primer paréntesis.

Formato de texto de eco

La· -e La opción (Activar escape de barra invertida) le permite usar el carácter de escape de barra inclinada invertida para cambiar el diseño de su texto. Los caracteres de escape de barra invertida que puede utilizar son:

  • a: Alerta (históricamente conocida como BEL). Esto generará un sonido de alerta predeterminado.
  • B: Escribe caracteres de retroceso.
  • C: Descarte cualquier salida adicional.
  • e: Escriba el carácter de escape.
  • f: Escribe caracteres de alimentación de formulario.
  • n: Escriba un salto de línea.
  • r: Escribe un retorno de carro.
  • t: Escriba una pestaña horizontal.
  • v: Escriba una pestaña vertical.
  • \: Escribe un signo de yenes.

Usemos algunos de ellos y veamos qué hacen.

echo -e "This is a long line of textnsplit across three linesnwithttabstontthetthirdtline"

El texto se dividirá en nuevas líneas utilizadas n Los caracteres y pestañas se insertarán donde se usaron t letra.

echo -e "Herevarevverticalvtabs"

Como abajo n Carácter de nueva línea, pestaña vertical v Mueva el texto a la línea inferior. Pero, n Carácter de nueva línea, v Las pestañas verticales no inician una nueva fila desde la columna 0. Utilice la columna actual.

La· b El carácter de retroceso mueve el cursor un carácter hacia atrás. Si hay más texto para escribir en la terminal, ese texto sobrescribirá el carácter anterior.

echo -e "123b4"

«3» se sobrescribe con «4».

La· r Causa del carácter de retorno de carro echo Regrese al comienzo de la línea actual y escriba más texto de la columna 0.

echo -e "123r456"

El carácter «123» se sobrescribe con el carácter «456».

La· a El carácter de advertencia emite un «zumbador» audible. Utiliza el sonido de alerta predeterminado para el tema actual.

echo -e "Make a bleepa"

La· -n La opción (sin saltos de línea) no es una secuencia de escape de barra invertida, pero afecta la apariencia del diseño del texto y se trata aquí.Previene echo Desde agregar un salto de línea al final del texto. El símbolo del sistema aparece inmediatamente después del texto escrito en la ventana del terminal.

echo -n "no final newline"

Usa echo en archivos y directorios

Puedes usar echo Como una especie de versión pobre ls..Pocas opciones cuando usas echo como esto.Si necesita algo de fidelidad o un control más preciso, le recomendamos que utilice ls Y Ese cuerpo opcional..

Este comando enumera todos los archivos y directorios en el directorio actual.

echo *

Este comando enumera todos los archivos y directorios en el directorio actual cuyo nombre comienza con «D».

echo D*

Este comando enumera todos los archivos «.desktop» en el directorio actual.

echo *.desktop

Si.Esto no esta jugando echoFortalezas.usar ls..

Escribir en un archivo usando echo

Puede redirigir la salida de echo Cree un archivo de texto o escriba en un archivo de texto existente.

Cuando usas > Operador de redireccionamiento. Si el archivo no existe, se creará.Salida de, si el archivo existe echo Se agrega al principio del archivo y sobrescribe el contenido anterior.

Cuando usas >> Operador de redireccionamiento. Si el archivo no existe, se creará.Salida de echo Se agrega al final del archivo y no sobrescribe el contenido existente del archivo.

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

El primer comando crea un nuevo archivo e inserta el texto en ese archivo. El segundo comando agrega una línea de texto al final del archivo.La· cat El comando muestra el contenido del archivo en una ventana de terminal.

Por supuesto, también puede agregar información útil al archivo, incluidas las variables. Si el archivo es un archivo de registro, se recomienda agregar una marca de tiempo. Puedes hacerlo con el siguiente comando:

Tenga en cuenta que los parámetros de están entre comillas simples. date mando. Éstos evitan que el espacio entre los parámetros se interprete como el final de la lista de parámetros.Garantizan que los parámetros se pasen a date Correctamente.

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

Nuestro archivo de registro fue creado para nosotros, cat Indica que se han agregado una marca de fecha y una marca de tiempo.

Relación: ¿Qué son stdin, stdout y stderr de Linux?

Ese es el repertorio del eco

Es un comando simple, pero es esencial. Si no existiera, tendríamos que inventarlo.

Después de todo, el Shenanigan de Zeus hizo algunas cosas buenas.