Foros del Web » Administración de Sistemas » Unix / Linux »

Ayuda con un shell script!! urgente!

Estas en el tema de Ayuda con un shell script!! urgente! en el foro de Unix / Linux en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 15/02/2010, 04:01
 
Fecha de Ingreso: febrero-2010
Mensajes: 5
Antigüedad: 14 años, 9 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!
  #2 (permalink)  
Antiguo 15/02/2010, 04:09
 
Fecha de Ingreso: febrero-2010
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Ayuda con un shell script!! urgente!


soy tonta!!
me acabo de dar cuenta de que me faltaba poner espacios despues de las negaciones:

if [ ! -f $VAR -a ! -d $VAR ]
then
echo $VAR no existe
else
if [ ! -r $VAR ]
then
echo $VAR no tiene permisos de lectura

jeje... perdon por las molestias, eso era todo! xD

Etiquetas: bash, linux, shell, unix
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:56.