Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2010, 04:01
abysslayer
 
Fecha de Ingreso: febrero-2010
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Ayuda con un shell script!! urgente!

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!