Duda pequeña BASH

re4q

He buscado algún hilo tipo guía básica bash, dudas, etc y no he encontrado nada en las primeras páginas del buscador, si existe pido disculpas.

Bueno pues estoy haciendo un script tontisimo pero he buscado y no se como capturar cuando el usuario pulsa ctrl+d para mostrar un echo de que ha salido del fichero digamos.

Lecherito

No sé lo que quieres hacer la verdad pero Ctrl + D lo que hace es enviar un EOF, así que lo que tienes que hacer es detectar un EOF.

http://stackoverflow.com/questions/463913/how-would-you-represent-eof-in-bash

1
re4q

Ya logré solucionar lo que quería, era muchisimo mas simple, no tenia que capturar el ctrl+d en sí. :S enfin xD

Ahora tengo otra duda, tengo esto.

directori=echo $PWD
                        if [ -w $directori ]
                        then
                                echo "Tenim permís d'escriptura al directori actual"
                        else
                                echo "error: No hi ha permís d'escriptura al directori actual"
                                exit 4
                        fi

Realmente lo que intento es comprobar si tengo permiso de escritura en el directorio actual, pero esto no me funciona.
Como podeis ver capturo en $directori la ruta donde estoy "pwd" y luego hago un test de permiso de escritura de esa ruta, pero claro me da error de que eso es un directorio. He buscado y no se realmente como comprobar los permisos de un directorio sin tener que hacer greps cuts de un ls -l ..

1 respuesta
ke2g

#3 creo que te tocara pasar por el aro y hacerlo como dices, utiliza ls -ld o stat.

Algo así por ejemplo (no lo he probado):

if [ `stat -c %A someFile | cut -c3` == "w" ] 
then
  echo "Tenim permís d'escriptura al directori actual"
fi
1 1 respuesta
re4q

#4 me ha funcionado, muchísimas gracias

Usuarios habituales

  • re4q
  • ke2g
  • Lecherito