miércoles, 31 de mayo de 2017

Aplicaciones simples

Incluso sin shift, es posible escribir aplicaciones útiles usando parámetros posicionales. A modo de ejemplo, aquí tenemos un programa de información de un archivo simple:

#!/bin/bash

# file_info: simple file information program

PROGNAME=$(basename $0)

if [[ -e $1 ]]; then
    echo -e "\nFile Type:"
    file $1
    echo -e "\nFile Status:"
    stat $1
else
    echo "$PROGNAME: usage: $PROGNAME file" >&2
    exit 1
fi

Este programa muestra el tipo de archivo (determinado por el comando file) y el estado del archivo (del comando stat) de un archivo especificado. Una característica interesante de este programa es la variable PROGNAME. Se le da el valor resultante del comando basename $0. El comando basename elimina la parte inicial de una ruta, dejando sólo el nombre base de un archivo. En nuestro ejemplo, basename elimina la parte inicial de la ruta contenida en el parámetro $0, la ruta completa de nuestro programa de ejemplo. Este valor es útil cuando construimos mensajes tales como el mensaje de uso al final del programa. Escribiendo el código de esta forma, el script puede  renombrarse y el mensaje se ajusta automáticamente para contener el nombre del programa.

No hay comentarios:

Publicar un comentario