Hola a todos!!
tengo que hacer este script para mañana pero me da algunos errores..
esto es lo que tiene que hacer:
1.Implementar un shell-script de nombre ejercicio5. Este shell-script podrá recibir un número indeterminado de parámetros. Para cada parámetro recibido, se comprobará si es fichero o directorio y si tenemos o no permisos de lectura sobre él . Si es un fichero y tenemos permiso de lectura, mostramos su contenido y si es directorio, y tenemos permiso de lectura, mostramos un listado de sus ficheros. Si no tenemos permisos de lectura, mostramos un mensaje indicándolo y si el parámetro no es fichero ni directorio se mostrará un mensaje de error.
y lo estoy haciendo asi:
for VAR in $*
do
if [ !-f $VAR -a !-d $VAR ]
then
echo $VAR no existe
else
if [!-r $VAR ]
then
echo $VAR no tiene permisos de lectura
else
if [ -f $VAR -a -r $VAR ]
then
cat $VAR
else
if [ -d $VAR -a -r $VAR ]
then
ls $VAR
fi
fi
fi
fi
done
Bueno, si los parámetros existen y tienen permiso de lectura me funciona bien, pero cuando introduzco algo que no existe o no tiene permisos me da este error:
./ejercicio6.sh: línea 8: [: demasiados argumentos
./ejercicio6.sh: línea 12: [: !-r: se esperaba un operador unario
si alguien me puede ayudar lo agradecere eternamente!! jeje
un saludo!