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! 
  
 


