Cómo usar el comando Echo en Linux

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

Echo repite lo que le dices que repita

Zeus era aficionado a dejar el Monte Olimpo para consorte con hermosas ninfas. En un viaje, le dijo a una ninfa de montaña llamada Echo que waylay su esposa, Hera, si ella lo seguía. Hera vino a buscar a Zeus, y Eco hizo todo lo posible 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, más o menos, es echoEs mucho en la vida. Repite lo que se le ha dicho que se repita. Esa es una función simple, pero vital. Sin echo , no podríamos obtener resultados visibles de scripts de shell, por ejemplo.

Si bien no está cargado con una multitud de campanas y silbatos, hay una buena posibilidad de que echo tiene algunas capacidades que no conocías o que habías olvidado.

¿eco? ¡eco!

La mayoría de los sistemas Linux proporcionan dos versiones de echo. El Concha Bash tiene su propio echo integrado en él, y hay una versión ejecutable binaria de echo También.

Podemos ver las dos versiones diferentes mediante los siguientes comandos:

type echo
whereis echo

El type comando nos dice si el comando que le pasamos como su argumento es un shell integrado, un ejecutable binario, un alias o una función. Nos informa que echo es una cáscara incorporada.

Tan pronto como haya encontrado una respuesta, type deja de buscar más partidos. 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 usará por defecto cuando emitamos ese comando.

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

El whereis el comando informa que echo es un ejecutable binario ubicado en el /bin directorio.

Para usar esa versión de echo tendría que llamarlo explícitamente proporcionando la ruta de acceso al ejecutable en la línea de comandos:

/bin/echo --version

La carcasa incorporada no sabe lo que el --version El argumento de la línea de comandos es, simplemente lo repite en la ventana del terminal:

echo --version

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

Escribir texto en el terminal

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

echo My name is Dave.

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

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

La ventana del terminal muestra un > firma y se sienta allí, esperando. Ctrl+C le devolverá al símbolo del sistema. ¿Qué pasó allí?

La sola cita o apóstrofo en la palabra “Soy” confundida echo. Interpretó esa única cita como el comienzo de una sección del texto citada. Debido a que no detectó una sola cotización de cierre, echo estaba esperando más información. Espera que esa aportación adicional incluya la cotización única que falta y que está esperando.

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

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

Envolver su texto entre comillas dobles es un buen consejo general. En los scripts, delimita de forma limpia los parámetros a los que está pasando echo. Esto hace que la lectura y depuración de scripts sea mucho más fácil.

¿Qué sucede si desea incluir un carácter de comillas dobles en su cadena de texto? Eso es fácil, solo pon una barra diagonal inversa / delante de las comillas dobles (sin espacio 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 barra invertir-escape personajes en breve.

Uso de variables con eco

Hasta ahora, hemos estado escribiendo texto predefinido en la ventana del terminal. Podemos usar variables con echo para producir output that es más dinámico y tiene valores insertados en él para nosotros por el shell. Podemos definir una variable simple con este comando:

my_name="Dave"

Una variable llamada my_name ha sido 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 del terminal. Debes poner un signo de dólar delante del nombre de la variable que se debe dejar echo saber que es una variable.

Hay una advertencia. Si has envuelto la cadena entre comillas simples echo tratará todo literalmente. Para tener la variable valor mostrado, y no el nombre de la variable, use comillas dobles.

echo 'My name is €my_name'
echo "My name is €my_name"

Algo acertadamente, vale la pena repetirlo:

  • Usando soltero Las comillas da como resultado que el texto se escriba en la ventana del terminal en un literal moda.
  • Usando doble Las comillas da como resultado la interpretación de la variable, también llamada expansión variable, y el valor se escribe en la ventana del terminal.
Te puede ser útil:  5 formas de abrir el Administrador de dispositivos en Windows 10

Uso de comandos con echo

Podemos usar un comando con echo e incorporar su salida en la cadena que se escribe en la ventana del terminal. Debemos usar el signo del dólar como si el comando fuera una variable, y envuelve todo el comando entre paréntesis.

Vamos a usar el comando date. Un consejo es usar el comando por sí solo antes de comenzar a usarlo con echo. De esa manera, si hay algo mal con la sintaxis de su comando, lo identifica y lo corrige antes de incluirlo en el echo mandar. Entonces, si el echo El comando no hace lo que esperas, sabrás que el problema debe ser con el comando echo sintaxis porque ya ha probado la sintaxis del comando.

Por lo tanto, pruebe esto en la ventana del terminal:

date +%D

Y, satisfechos de que estamos obteniendo lo que esperamos del comando date, lo integraremos en un echo mandar:

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

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

Formato de texto con eco

El -e (habilitar escapes de barra diagonal inversa) nos permite usar algunos caracteres de escape de barra diagonal inversa para cambiar el diseño del texto. Estos son los personajes escapados de barra diagonal inversa que podemos usar:

  • /a: Alerta (históricamente conocida como BEL). Esto genera el sonido de alerta predeterminado.
  • /b: escribe un carácter de retroceso.
  • /c: Abandona cualquier otra salida.
  • /e: Escribe un carácter de escape.
  • /f: escribe un carácter de fuente de formulario.
  • /n: Escribe una nueva línea.
  • /r: Escribe un retorno de carro.
  • /t: Escribe una ficha horizontal.
  • /v: Escribe una ficha vertical.
  • //: escribe un carácter de barra diagonal inversa.

Usemos algunos de ellos y veamos qué hacen.

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

El texto se divide en una nueva línea donde hemos utilizado el /n y se inserta una pestaña donde hemos utilizado el /t Caracteres.

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

Como el /n nuevos caracteres de línea, una pestaña vertical /v mueve el texto a la línea siguiente. Pero, a diferencia de la /n nuevos caracteres de línea, el /v La pestaña vertical no inicia la nueva línea en la columna cero. Utiliza la columna actual.

El /b los caracteres de retroceso mueven el cursor hacia atrás un carácter. Si hay más texto por escribir en el terminal, ese texto sobrescribirá el carácter anterior.

echo -e "123/b4"

El “3” está sobreescrito por el “4”.

El /r Causas del carácter de retorno del carro echo para volver al principio de la línea actual y escribir cualquier texto adicional desde la columna cero.

echo -e "123/r456"

Los “123” caracteres se sobrescriben con los “456” caracteres.

El /a el carácter de alerta producirá un “pitido” audible. Utiliza el sonido de alerta predeterminado para su tema actual.

echo -e "Make a bleep/a"

El -n La opción (sin nueva línea) no es una secuencia de escape de barra diagonal inversa, pero afecta a los cosméticos del diseño del texto, por lo que lo discutiremos aquí. Previene echo de agregar una nueva línea al final del texto. El símbolo del sistema aparece directamente después del texto que se escribe en la ventana del terminal.

echo -n "no final newline"

Uso de echo con archivos y directorios

Puedes usar echo como una especie de versión del pobre hombre de ls. Sus opciones son pocas y distantes entre sí cuando usa echo Así. Si necesitas algún kind de fidelidad o control fino, es mejor usar ls y su legión de opciones.

Este comando enumera todos los archivos y directorios del 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

Sí. Esto no es jugar a echo‘s fortalezas. Uso ls.

Escribir en archivos con eco

Podemos redirigir la salida desde echo y crear archivos de texto o escribir en archivos de texto existentes.

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

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

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

Anote las comillas simples alrededor de los parámetros para el date mandar. Evitan que el espacio entre los parámetros se interprete como el final de la lista de parámetros. Aseguran que los parámetros se pasen a date correctamente.

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

Nuestro archivo de registro está creado para nosotros y cat nos muestra que la marca de fecha y la marca de tiempo se agregaron a ella.

Ese es el repertorio de echo

Un comando sencillo, pero indispensable. Si no existiera, tendríamos que inventarlo.

Las travesuras de Zeus hicieron algo bueno, después de todo.

¿Qué tan útil te resultó el artículo?

¡Haz click en una estrella para valorar!

Valoración media / 5. Votos totales:

¡No hay votos hasta ahora! Sé el primero en valorar este artículo.

Utilizamos cookies para personalizar el contenido y los anuncios, para ofrecer funciones de redes sociales y para analizar nuestro tráfico. También compartimos información sobre su uso de nuestro sitio con nuestros socios de redes sociales, publicidad y análisis. View more
Cookies settings
Aceptar
Política de privacidad y cookies
Privacy & Cookies policy
Cookie name Active
El presente Política de Privacidad establece los términos en que Alternativa.click usa y protege la información que es proporcionada por sus usuarios al momento de utilizar su sitio web. Esta compañía está comprometida con la seguridad de los datos de sus usuarios. Cuando le pedimos llenar los campos de información personal con la cual usted pueda ser identificado, lo hacemos asegurando que sólo se empleará de acuerdo con los términos de este documento. Sin embargo esta Política de Privacidad puede cambiar con el tiempo o ser actualizada por lo que le recomendamos y enfatizamos revisar continuamente esta página para asegurarse que está de acuerdo con dichos cambios.

Información que es recogida

Nuestro sitio web podrá recoger información personal por ejemplo: Nombre,  información de contacto como  su dirección de correo electrónica e información demográfica. Así mismo cuando sea necesario podrá ser requerida información específica para procesar algún pedido o realizar una entrega o facturación.

Uso de la información recogida

Nuestro sitio web emplea la información con el fin de proporcionar el mejor servicio posible, particularmente para mantener un registro de usuarios, de pedidos en caso que aplique, y mejorar nuestros productos y servicios.  Es posible que sean enviados correos electrónicos periódicamente a través de nuestro sitio con ofertas especiales, nuevos productos y otra información publicitaria que consideremos relevante para usted o que pueda brindarle algún beneficio, estos correos electrónicos serán enviados a la dirección que usted proporcione y podrán ser cancelados en cualquier momento. Alternativa.click está altamente comprometido para cumplir con el compromiso de mantener su información segura. Usamos los sistemas más avanzados y los actualizamos constantemente para asegurarnos que no exista ningún acceso no autorizado.

Cookies

Una cookie se refiere a un fichero que es enviado con la finalidad de solicitar permiso para almacenarse en su ordenador, al aceptar dicho fichero se crea y la cookie sirve entonces para tener información respecto al tráfico web, y también facilita las futuras visitas a una web recurrente. Otra función que tienen las cookies es que con ellas las web pueden reconocerte individualmente y por tanto brindarte el mejor servicio personalizado de su web. Nuestro sitio web emplea las cookies para poder identificar las páginas que son visitadas y su frecuencia. Esta información es empleada únicamente para análisis estadístico y después la información se elimina de forma permanente. Usted puede eliminar las cookies en cualquier momento desde su ordenador. Sin embargo las cookies ayudan a proporcionar un mejor servicio de los sitios web, estás no dan acceso a información de su ordenador ni de usted, a menos de que usted así lo quiera y la proporcione directamente. Usted puede aceptar o negar el uso de cookies, sin embargo la mayoría de navegadores aceptan cookies automáticamente pues sirve para tener un mejor servicio web. También usted puede cambiar la configuración de su ordenador para declinar las cookies. Si se declinan es posible que no pueda utilizar algunos de nuestros servicios.

Enlaces a Terceros

Este sitio web pudiera contener en laces a otros sitios que pudieran ser de su interés. Una vez que usted de clic en estos enlaces y abandone nuestra página, ya no tenemos control sobre al sitio al que es redirigido y por lo tanto no somos responsables de los términos o privacidad ni de la protección de sus datos en esos otros sitios terceros. Dichos sitios están sujetos a sus propias políticas de privacidad por lo cual es recomendable que los consulte para confirmar que usted está de acuerdo con estas. Control de su información personal En cualquier momento usted puede restringir la recopilación o el uso de la información personal que es proporcionada a nuestro sitio web.  Cada vez que se le solicite rellenar un formulario, como el de alta de usuario, puede marcar o desmarcar la opción de recibir información por correo electrónico.  En caso de que haya marcado la opción de recibir nuestro boletín o publicidad usted puede cancelarla en cualquier momento. Esta compañía no venderá, cederá ni distribuirá la información personal que es recopilada sin su consentimiento, salvo que sea requerido por un juez con un orden judicial. Alternativa.click Se reserva el derecho de cambiar los términos de la presente Política de Privacidad en cualquier momento.
Save settings
Cookies settings