Una ventana de terminal de Linux en un escritorio con temática de Ubuntu.

Cómo usar el comando Echo en Linux

Una ventana de terminal de Linux en un escritorio con temática de Ubuntu.Fatmawati Achmad Zaenuri / Shutterstock

los echo El comando es perfecto para escribir texto formateado en la ventana del terminal. Y no tiene por qué ser texto estático. Puede incluir variables de shell, nombres de archivos y directorios. También puede redirigir el eco para crear archivos de texto y archivos de registro. Siga esta sencilla guía para descubrir cómo.

Echo repite lo que le dices que repita

A Zeus le gustaba dejar el monte Olimpo para frecuentar hermosas ninfas. En un viaje, le dijo a una ninfa de la montaña llamada Echo que rechazar a su esposa, Hera, si ella lo seguía. Hera vino a buscar a Zeus, y Echo hizo todo lo que pudo para mantener a Hera en la conversación. Finalmente, Hera perdió los estribos y maldijo al pobre Echo para que solo repitiera las últimas palabras que alguien más había dicho. Lo que Hera le hizo a Zeus cuando lo alcanzó es un enigma.

Y es aproximadamente echoeso es mucho en la vida. Repite esto se dijo que repitiera. Es una función sencilla, pero vital. Sin echo , no podríamos obtener resultados visibles de los scripts de shell, por ejemplo.

Si bien no está cargado con una multitud de campanas y silbidos, es muy probable que echo tiene habilidades que no conocía o que había olvidado.

¿eco? ¡eco!

La mayoría de los sistemas Linux proporcionan dos versiones de echo. los Golpe de concha tiene su propio echo incorporado, y hay una versión ejecutable binaria de echo además.

Podemos ver las dos versiones diferentes usando los siguientes comandos:

type echo
whereis echo

los type el comando nos dice si la orden que le ponemos como su argumento es un shell integrado, un ejecutable binario, un alias o una función. Nos dice que echo es una carcasa incorporada.

Tan pronto como encontró una respuesta, type deja de buscar otras coincidencias. Por lo tanto, no nos dice si hay otros comandos del mismo nombre presentes en el sistema. Pero nos dice cuál encuentra primero. Y este es el que se usará por defecto cuando ejecutemos este comando.

los whereis El comando busca el ejecutable binario, el código fuente y la página de manual del comando que le pasamos como línea de comando. configuración. No busca shells incorporados porque no tienen un ejecutable binario separado. Son una parte integral del ejecutable Bash.

los whereis el comando señala que echo es un ejecutable binario ubicado en el /bin directorio telefónico.

Para usar esta versión de echo necesitaría llamarlo explícitamente proporcionando la ruta al ejecutable en la línea de comando:

/bin/echo --version

El caparazón incorporado no sabe lo que --version El argumento de la línea de comando es, simplemente lo repite en la ventana de terminal:

echo --version

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

Escribe texto en la terminal

Para escribir una cadena de texto simple en la ventana de terminal, escriba echo y la cadena que desea que se muestre:

echo My name is Dave.

El texto se nos repite. Pero a medida que experimente, pronto descubrirá que las cosas se pueden complicar un poco más. Echale un vistazo a éste ejemplo:

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

La ventana de la terminal muestra un > firma y se sienta allí, esperando. Ctrl + C lo llevará de regreso al símbolo del sistema. ¿Que paso ahi?

La comilla simple o el apóstrofe en la palabra «Yo soy» confundido echo. Interpretó esta simple cita como el comienzo de una sección de texto citada. Debido a que no detectó una sola comilla de cierre, echo esperaba más aportaciones. Esperaba que otras contribuciones incluyesen la cita única faltante que esperaba.

La forma más fácil de incluir una comilla simple en una cadena es envolver toda la cadena entre comillas:

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

Envolver el texto entre comillas dobles es un buen consejo general. En los scripts, delimita claramente los parámetros que pasa a echo. Esto facilita mucho la lectura y la depuración de scripts.

¿Qué sucede si desea incluir una comilla doble en su cadena de texto? Es fácil, solo ponga una barra invertida delante de comillas dobles (sin espacios entre ellas).

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

Esto envuelve la palabra «geek» entre comillas dobles para nosotros. Veremos más de estos caracteres de escape con barra invertida en breve.

Usando variables con eco

Hasta ahora hemos escrito un texto predefinido en la ventana de terminal. Puedes usar variables con echo para producir una salida más dinámica que contenga valores insertados para nosotros por el shell. Puede definir una variable simple con este comando:

my_name="Dave"

Una variable llamada my_name fue creado. Se le ha asignado el valor del texto «Dave». Podemos usar el nombre de la variable en las cadenas a las que pasamos echo , y el valor de la variable se escribirá en la ventana de terminal. Tienes que poner un signo de dólar $ delante del nombre de la variable a dejar echo saber que es una variable.

Hay una salvedad. Si ha incluido su cadena entre comillas simples echo tratará todo literalmente. Para mostrar el valor de la variable, no el nombre de la variable, use comillas dobles.

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

Muy acertadamente, vale la pena repetir:

  • El uso de comillas simples hace que el texto se escriba literalmente en la ventana de la terminal.
  • El uso de comillas dobles hace que la variable se interprete (también conocida como expansión de la variable) y el valor se escriba en la ventana de la terminal.

Usando comandos con echo

Podemos usar un comando con echo e incrustar su salida en la cadena que se escribe en la ventana de terminal. Tenemos que usar el signo de dólar $ como si el comando fuera una variable, y encierre el comando completo entre paréntesis.

Usaremos el fecha de orden. Un consejo es usar el comando por sí solo antes de comenzar a usarlo con echo. De esta forma, si hay un problema con la sintaxis de tu comando, lo identificas y lo arreglas antes de incluirlo en el echo pedido. Entonces si el echo comando no hace lo que esperabas, sabrás que el problema debe estar en el echo sintaxis porque ya ha probado la sintaxis del comando.

Entonces, intente esto en la ventana de la terminal:

date +%D

Y, convencidos de que estamos obteniendo lo que esperamos de la fecha del pedido, lo integraremos en un echo pedido:

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

Tenga en cuenta que el comando está entre paréntesis y el signo de dólar $ está inmediatamente antes del primer paréntesis.

Formatear texto con eco

los -e (habilitar los escapes de barra invertida) nos permite usar caracteres de escape de barra invertida para cambiar el diseño del texto. Aquí están los caracteres de escape de barra invertida que podemos usar:

  • a: Alerta (históricamente conocida como BEL). Esto genera el sonido de alerta predeterminado.
  • B: Escribe un carácter de retroceso.
  • vs: abandona cualquier salida adicional.
  • e: Escribe un carácter de escape.
  • F: Escribe un carácter de salto de página.
  • no: Escribe una nueva línea.
  • r: Escribe un retorno de carro.
  • t: Escribe una pestaña horizontal.
  • v: Escribe una pestaña vertical.
  • \: Escribe una barra invertida.

Usemos algunos de ellos y veamos qué hacen.

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

El texto se divide en una nueva línea donde usamos el n caracteres y se inserta una pestaña donde usamos el t personajes.

echo -e "Herevarevverticalvtabs"

Como el n caracteres de nueva línea, una pestaña vertical v mueva el texto a la línea de abajo. Pero, a diferencia del n caracteres de nueva línea, el v la pestaña vertical no inicia la nueva fila en la columna cero. Utiliza la columna actual.

los b los caracteres de retroceso mueven el cursor un carácter hacia atrás. Si hay más texto para escribir en la terminal, este texto sobrescribirá el carácter anterior.

echo -e "123b4"

El «3» se sobrescribe con el «4».

los r Causas del carácter de retorno de carro echo para volver al inicio de la línea actual y escribir cualquier otro texto a partir de la columna cero.

echo -e "123r456"

Los caracteres «123» se sobrescriben con los caracteres «456».

los a el carácter de alerta producirá un «bip» audible. Utiliza el sonido de alerta predeterminado para su tema actual.

echo -e "Make a bleepa"

los -n La opción (sin nueva línea) no es una secuencia de escape con una barra invertida, pero afecta la estética del diseño del texto, así que lo discutiremos aquí. Previene echo agregue una nueva línea al final del texto. El símbolo del sistema aparece directamente después del texto escrito en la ventana del terminal.

echo -n "no final newline"

Usando echo con archivos y directorios

Puedes usar echo como una especie de versión pobre de ls. Tus opciones son escasas al usar echo así. Si necesita algún tipo de fidelidad o control fino, será mejor que use ls y su legión de opciones.

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

echo *

Este comando enumera todos los archivos y directorios del 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 es para jugar echofortalezas de. Usar ls.

Escribir en archivos con eco

Podemos redirigir la salida de echo y cree archivos de texto o escriba en archivos de texto existentes.

Si usamos el > operador de redirección, el archivo se crea si no existe. Si el archivo existe, la salida de echo se agrega al inicio del archivo, sobrescribiendo cualquier contenido anterior.

Si usamos el >> operador de redirección, el archivo se crea si no existe. La salida de echo se agrega al final del archivo y no sobrescribe ningún contenido existente en el 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 y se inserta texto en él. El segundo comando agrega una línea de texto al final del archivo. los cat El comando muestra el contenido del archivo en la ventana del terminal.

Y, por supuesto, podemos incluir variables para agregar información útil a nuestro archivo. Si el archivo es un archivo de registro, es posible que deseemos agregarle una marca de tiempo. Podemos hacerlo con el siguiente comando.

Tenga en cuenta las comillas simples alrededor de los parámetros para el date pedido. Evitan que el espacio entre parámetros se interprete como el final de la lista de parámetros. Se aseguran de que los parámetros se pasen a date correctamente.

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

Nuestro archivo de registro se crea para nosotros y cat nos muestra que se le han agregado tanto la marca de tiempo como la marca de tiempo.

Este es el repertorio de Echo

Un pedido sencillo, pero imprescindible. Si no existiera, habría que inventarlo.

Los planes de Zeus han sido buenos, después de todo.

Experto Geek - Tu Guía en Tendencias Tecnológicas