5.6 .- Comandos de salida

Vamos a ver los comandos de salida más importantes.

El comando print

Este comando está implementado en la consola ksh, para acceder a dicha consola, debemos llamarla desde el terminal con el comando ksh.

Uso simple:

Suprimir el salto de línea natural de print

Para ello hay que usar la opcion -n.

Ejemplo:

Mostrar argumentos comenzando por el carácter “-“

Ejemplo:

En este ejemplo, la cadena de caracteres -i forma parte del mensaje. Desgraciadamente, print interpreta -i como una opción y no como un argumento:

Es algo inútil poner protecciones alrededor de los argumentos de print. En efecto, “” no es un carácter especial de shell, por tanto no sirve protegerlo. Solo lo interpreta el comando print.

Con la opción “” del comando print, los caracteres siguientes serán, sea el valor que sea, interpretados como argumentos.

Escritura hacia un descriptor determinado

La opción -u permite enviar un mensaje hacia un descriptor determinado.

Sintaxis:

Donde descriptor representa el descriptor de archivo.

Ejemplo:

Envío de un mensaje hacia la salida de error estándar con print y lo mismo con echo:

  • La opción -u2 del comando print le indica que debe enviar el mensaje hacia la salida de error estándar.
  • El comando echo escribe siempre hacia su descriptor 1. Por lo tanto, será necesario que la salida estándar haya sido redirigida hacia la salida de error estándar (1>&2) antes que se ejecute el comando echo.

El comando printf

Este comando está implementado el la consola bash; retoma la función printf del lenguaje C. Nos permite formatear las impresiones. Como el comando es interno, no está disponible en todos los shell’s. En cambio, puede ofrecerse bajo la forma de comando externo (/usr/bin/printf).

cadena representa la cadena que será impresa por pantalla. Puede contener los formatos que va a sustituir por el valor de las expresiones que citaremos a continuación. Tiene que haber el mismo número de formatos que de expresiones.

Formatos de uso común

Ejemplos

  • Prueba con las definiciones de los formatos para printf