Nota: Todos los script que requieran un número exacto de parámetros deben realizar la comprobación del número de parámetros
El objetivo de este script es hacer prácticas con las condiciones que proporciona bash para realizar comprobaciones del sistema de ficheros, comprobar ficheros, directorios, permisos, etc.
En primer lugar deberemos verficar el número de argumentos como veíamos en el ejemplo anterior y postriormente comprobamos si el argumento se corresponde con un fichero:
if [ $# -eq 1 ]
then
echo "Uso: $0 fichero"
exit
fi
if [ -f $1 ]
then
echo "$1 es un fichero"
else
echo "$1 NO es un fichero"
fi
|
La opción "-f" de la orden test o "[ ]" devuelve "Verdadero" si el valor que indicamos se corresponde con un fichero regular. Aconsejo un repaso a las distintas condiciones para comprobar otros tipos de ficheros como pipes, dispositivos o enlaces.
Si tenemos ficheros con nombres que contengan espacios y otro metacarácter, el argumento debería estar entre comillas dobles:
if [ $# -eq 1 ]
then
echo "Uso: $0 fichero"
exit
fi
if [ -f "$1" ]
then
echo "$1 es un fichero"
else
echo "$1 NO es un fichero"
fi
|