Cómo usar el comando Echo en Linux

Puntos clave

  • Echo es un comando vital que nos permite obtener resultados visibles de los scripts de shell y puede incluir variables, nombres de archivos y directorios.
  • Hay dos versiones de echo: una integrada en el shell Bash y una versión ejecutable binaria.
  • Echo se puede usar para escribir texto en la ventana de la terminal, usar variables para salida dinámica, incrustar salida de comando, formatear texto con caracteres de barra invertida, enumerar archivos y directorios, y escribir en archivos.

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

→ Índice de contenidos
  • ¿Qué hace el eco?
  • Hay dos versiones de eco.
  • Escribir texto en terminal con eco
  • Usando variables con eco
  • Usando comandos con eco
  • Formatear texto con eco
  • Usando echo con archivos y directorios
  • Escribir en un archivo con eco
  • Este es el repertorio de Echo
  • ¿Qué hace el eco?

    El eco repite lo que le dijeron que repitiera. Esta es una función simple pero vital. Sin echo por ejemplo, no podríamos obtener resultados visibles de los scripts de shell.

    Si bien no está cargado de una multitud de detalles, hay muchas posibilidades de que eso suceda. echo Tiene algunas características que no conocías o que habías olvidado.

    Hay dos versiones de eco.

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

    Podemos ver las dos versiones diferentes usando los siguientes comandos:

    type echo
    whereis echo

    EL type comando nos dice si el comando que pasamos como argumento es un shell integrado, un ejecutable binario, un alias o una función. Nos dice esto echo es un caparazón incorporado.

    Tan pronto como encuentre una respuesta, type deja de buscar más coincidencias. Por lo que no nos dice si hay otros comandos con el mismo nombre en el sistema. Pero nos dice cuál encuentra primero. Y esto es lo que se usará de forma predeterminada cuando emitamos ese comando.

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

    EL whereis el comando lo informa echo es un ejecutable binario ubicado en el archivo /bin directorio.

    Para usar esa versión de echo debes llamarlo 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 caparazón incorporado no sabe qué --version el argumento de la línea de comando es, simplemente lo repite en la ventana de terminal:

    echo --version

    echo --version en una ventana de terminal

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

    Escribir texto en terminal con eco

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

    echo My name is Dave.

    eco Mi nombre es Dave.  en una ventana de terminal

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

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

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

    La ventana del terminal muestra una > él firma y se sienta allí, esperando. Ctrl+C lo llevará nuevamente al símbolo del sistema. ¿Que paso ahi?

    La comilla simple o apóstrofe en la palabra "soy" es confusa echo. Interpretó esa cita única como el comienzo de una sección de texto citada. Como no se detectó una comilla simple de cierre, echo Estaba esperando más comentarios. Esperaba recibir más aportes que incluyeran la comilla simple que faltaba y que estaba esperando.

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

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

    eco

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

    ¿Qué sucede si desea incluir un carácter de comilla doble en su cadena de texto? Es fácil, sólo inserta una barra invertida delante de las comillas dobles (sin espacios entre ellas).

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

    eco

    Para nosotros, esto pone la palabra "geek" entre comillas dobles. Pronto veremos más de estos caracteres de barra invertida.

    Usando variables con eco

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

    my_name="Dave"

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

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

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

    echo 'Mi nombre es $my_name' en una ventana de terminal

    Conviene repetirlo muy apropiadamente:

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

    Usando comandos con eco

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

    Usaremos el comando de fecha. Un consejo es usar el comando solo antes de comenzar a usarlo con echo. De esta manera, si hay algún problema con la sintaxis de tu comando, lo identificas y lo corriges antes de incluirlo en el archivo. echo dominio. Entonces, si el echo El comando no hace lo que esperas, sabrás que el problema debe estar en el archivo. echo sintaxis porque ya ha demostrado la sintaxis del comando.

    Entonces, prueba esto en la ventana de terminal:

    date +%D

    fecha +%D en una ventana de terminal

    Y, satisfechos de haber conseguido lo que esperamos del comando date, lo integraremos en un archivo echo dominio:

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

    eco

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

    Formatear texto con eco

    EL -e La opción (habilitar escapes de barra invertida) nos permite usar algunos caracteres de barra invertida para cambiar el diseño del texto. Estos son los caracteres de escape de barra invertida que podemos usar:

    • A: Aviso (históricamente conocido como BEL). Esto genera el sonido de alerta predeterminado.
    • B: escribe un carácter de retroceso.
    • C: abandone cualquier salida adicional.
    • Y: escribe un carácter de escape.
    • F: escribe un carácter de avance de página.
    • NORTE: escribe una nueva línea.
    • R: escribe un retorno de carro.
    • t: escribe una tabulación horizontal.
    • v: escribe una tabulación vertical.
    • \: escribe un carácter de barra invertida.

    Usemos algunos de ellos y veamos qué hacen.

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

    eco -e

    El texto se divide en una nueva línea donde hemos utilizado el archivo. n caracteres y se inserta una tarjeta donde usamos el archivo t caracteres.

    echo -e "Herevarevverticalvtabs"

    eco -e

    como el n caracteres de nueva línea, una tabulación vertical v mueve el texto a la línea de abajo. Pero a diferencia n caracteres de nueva línea, el v La pestaña vertical no comienza una nueva fila en la columna cero. Utilice la columna actual.

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

    echo -e "123b4"

    eco -e

    El "3" se sobrescribe con el "4".

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

    echo -e "123r456"

    eco -e

    Los caracteres "123" se sobrescriben con los caracteres "456".

    EL a el personaje atento producirá un "bip" audible. Utilice el sonido de alerta predeterminado para el tema actual.

    echo -e "Make a bleepa"

    eco -e

    EL -n (sin nueva línea) no es una secuencia de barra invertida, pero afecta la estética del diseño del texto, así que lo discutiremos aquí. Previene echo desde agregar una nueva línea hasta el final del texto. El símbolo del sistema aparece directamente después del texto que escribe en la ventana del terminal.

    echo -n "no final newline"

    y con

    Usando echo con archivos y directorios

    puedes usar echo como una especie de versión pobre de ls. Tus opciones son pocas y distantes a la hora de usarlo echo como esto. Si necesitas algún tipo de fidelidad o control preciso, lo mejor es utilizarlo 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 en el directorio actual cuyo nombre comienza con "D":

    echo D*

    Este comando enumera todos los archivos ".desktop" en el directorio actual:

    echo *.desktop

    echo * en una ventana de terminal

    Sí. Esto no es un juego. echopuntos de fuerza. Uso ls.

    Escribir en un archivo con eco

    Podemos redirigir la salida de 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. la salida 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

    eco sample.txt en una ventana de terminal" style="display:block;height:auto;max-width:100%;" data-img-url=" />

    Con el primer comando se crea un nuevo archivo y se inserta texto en él. El segundo comando agrega una línea de texto al final del archivo. EL 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 queramos agregar una marca de tiempo. Podemos hacer esto con el siguiente comando.

    Observe las comillas simples alrededor de los parámetros para el date dominio. Impiden que el espacio entre parámetros se interprete como el final de la lista de parámetros. Se aseguran de que se pasen los parámetros. date correctamente.

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

    eco logfile.txt en una ventana de terminal" style="display:block;height:auto;max-width:100%;" data-img-url=" />

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

    Relacionado: ¿Qué son stdin, stdout y stderr en Linux?

    Este es el repertorio de Echo

    Un comando simple pero esencial. Si no existiera habría que inventarlo.

    Subir Change privacy settings