Press "Enter" to skip to content

Scripting Bash. Salida de Datos en la Consola con el Comando ECHO.


Funcionamiento Básico del Comando ECHO.

El comando «ECHO» se utiliza para mostrar textos literales por pantalla, o el resultado de la ejecución de otros comandos.

La sintaxis más básica del comando «ECHO» que se puede utilizar es esta;

echo "texto a mostrar"

donde, como es habitual en Scripting Bash, se recomienda encerrar los textos entre comillas dobles para evitar errores o comportamientos inesperados.

Caracteres de Escape en el Comando ECHO

Para incluir caracteres de escape en el texto que se desea mostrar, se debe colocar la opción «e» miúscula en el comando «ECHO».

Por ejemplo si ejecutasemos este comando «ECHO»,

echo -e "Texto con\nsalto de línea"

Cuando Bash deba interpretar el conjunto de caracteres \n , creará una nueva línea porque lo reconocerá como un carácter de escape, y continuará escribiendo el resto del texto de la instrucción en la nueva línea, de esta forma:

Texto con
salto de línea

En cambio, si ejecutásemos esta misma instrucción sin colocar la opción «e» minúscula,

echo "Texto con\nsalto de línea"

el comando «ECHO» interpretaría este conjunto de caracteres \n como un texto normal y, de esta forma, no haría el salto de línea, generando el siguiente texto:

Texto con\nsalto de línea

Algunas opciones del Comando ECHO

  • Opción «-e» ( e minúscula )

Permite al comando ECHO interpretar los caracteres de escape con su respectivo significado, en lugar de tratarlos como texto normal, como el carácter \n que se interpretará como un salto de línea y el carácter \t que se usará para crear una tabulación. Por ejemplo si ejecutamos esta instrucción:

echo -e "Primera línea\nSegunda línea"

esta instruccion mostrara el texto «Primera línea» y el texto «Segunda línea» en dos líneas separadas de esta forma:

Primera línea
Segunda línea
  • Opción «-E» ( e mayúscula )

permite que el comando «ECHO» interprete los caracteres de escape como texto normal, en lugar de su respectivo significado habitual. Por ejemplo si ejecutamos esta instrucción:

echo -E "Primera línea\nSegunda línea"

esta instrucción mostrará el texto «Primera línea\nSegunda línea» en una sola línea, sin interpretar \n como salto de línea de esta forma:

Primera línea\nSegunda línea

Esta es la opción por defecto del comando «ECHO». Por ello, si no se le indica la opción «e» minúscula a este comando, asumirá automáticamente que se esta utilizando la opción «E» mayúscula. Por ejemplo si ejecutasemos estas dos opciones , el resultado seria el mismo:

echo -E "Primera línea\nSegunda línea"
echo "Primera línea\nSegunda línea"
  • Opción «-n» ( minúscula )

Evita que se añada una nueva línea al final del texto mostrado, permitiendo que el siguiente texto continúe mostrandose en la misma línea. Por ejemplo al ejecutar esta intrucción:

echo "Primer Texto"
echo "Segundo Texto"

el resultado sera el siguiente:

Primer Texto
Segundo Texto

pero si en la primera instrucción añadimos la opcion «n» minúscula:

echo -n "Primer Texto"
echo "Segundo Texto"

el resultado sera el siguiente:

Primer TextoSegundo Texto

Mostrar el dato de una Variable, Array o resultado de una Expresión.

El comando ECHO, ademas de mostrar textos literales , también permite mostrar el contenido guardado en variables y arrays.

Por ejemplo, al ejecutar este código:

var1="Hola!!"
echo $var1

se conseguirá recuperar el texto «Hola!!» guardado en la variable var1 con el comando ECHO para mostralo por pantalla.

Esto mismo también se puede hacer con un array. Por ejemplo, al ejecutar este código:

mi_array=("elemento0" "elemento1" "elemento2")
echo ${mi_array[1]}

se conseguirá crear un array con tres posiciones, y luego, con el comando ECHO, recuperar el contenido guardado en la posición con indice igual a 1 para mostrarlo por pantalla.

O también, este comando ECHO permite mostrar directamente el resultado de la ejecución de expresiones:

echo $((5 + 3))

Video Mostrar Datos con el Comando ECHO en Scripting Bash

Si queréis, podeis ver una explicación mas detalla en este video: