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

El echocomando 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 unirse con hermosas ninfas. En un viaje, le dijo a una ninfa de la montaña llamada Echo que acechara 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 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 una incógnita.

Y eso, básicamente, es echomucho en la vida. Repite lo que se le ha dicho que repita . Esa es una función simple, pero vital. Sin echo, no podríamos obtener resultados visibles de los scripts de shell, por ejemplo.

Si bien no está cargado de una multitud de campanas y silbatos, es muy probable que echotenga algunas capacidades que no conocía o que había olvidado.

¿eco? ¡eco!

La mayoría de los sistemas Linux ofrecen dos versiones de echo. El shell Bash tiene el suyo echoincorporado, y también hay una versión ejecutable binaria echo.

Podemos ver las dos versiones diferentes usando los siguientes comandos:

tipo eco
¿Dónde está el eco?

escriba echo en una ventana de terminal

El typecomando nos dice si el comando que le pasamos como argumento es un intérprete de comandos incorporado, un ejecutable binario, un alias o una función. Nos informa que echoes un shell incorporado.

Relacionado:  Cómo usar el comando mkfs en Linux

Tan pronto como ha encontrado una respuesta, typedeja de buscar más coincidencias. Por lo tanto, no nos dice si hay otros comandos con el mismo nombre presentes en el sistema. Pero sí nos dice cuál encuentra primero. Y ese es el que se utilizará de forma predeterminada cuando emitamos ese comando.

El whereiscomando busca el ejecutable binario, el código fuente y la página de manual del comando que le pasamos como parámetro de la línea de comandos . No busca elementos internos de shell porque no tienen un ejecutable binario separado. Son una parte integral del ejecutable Bash.

El whereiscomando informa que echoes un ejecutable binario ubicado en el /bindirectorio.

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

/ bin / echo --version

/ bin / echo --version en una ventana de terminal

El shell incorporado no sabe cuál es el --versionargumento de la línea de comandos, simplemente lo repite en la ventana del terminal:

echo --version

echo --version en una ventana de terminal

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

Escribir texto en la terminal

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

echo Mi nombre es Dave.

echo Mi nombre es Dave.  en una ventana de terminal

El texto se nos repite. Pero a medida que experimente, pronto descubrirá que las cosas pueden complicarse un poco más. Mira este ejemplo:

echo Mi nombre es Dave y soy un geek.

echo Mi nombre es Dave y soy un geek.  en una ventana de terminal

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

Relacionado:  Cómo usar el comando which en Linux

La comilla simple o el apóstrofo en la palabra «Estoy» confuso echo. Interpretó esa comilla simple como el comienzo de una sección de texto citada. Debido a que no detectó una sola comilla de cierre,  echoestaba esperando más información. Esperaba que la entrada adicional incluyera la comilla simple que faltaba que estaba esperando.

Para incluir una comilla simple en una cadena, la solución más simple es envolver toda la cadena entre comillas dobles:

echo "Mi nombre es Dave y soy un geek".

echo "Mi nombre es Dave y soy un geek".  en una ventana de terminal

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

¿Qué sucede si desea incluir un carácter de comillas dobles en su cadena de texto? Eso es fácil, simplemente coloque una barra invertida \delante de las comillas dobles (sin espacios entre ellas).

echo "Mi nombre es Dave y soy un \" geek \ """"