Linux/Unix Shell Scripting - Script bash. Control de errores

   
Vista:

Script bash. Control de errores

Publicado por José (5 intervenciones) el 03/11/2015 15:38:46
Hola,

Me gustaría saber como podría crear un script bash que me detectase lo siguiente al ser invocado: ( Darme una pista)

* Q no tenga argumentos
* Invocarlo con un archivo que no sea de texto. ( Lo estoy intentando con test -f, pero es para archivos comunes)
* Que tenga más de un parámetro

Gracias de antemano

Saludos,

José J.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Script bash. Control de errores

Publicado por xve (254 intervenciones) el 03/11/2015 16:39:10
Hola José, no me queda muy claro exactamente que quieres hacer... nos puedes comentar con mas detalle?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Script bash. Control de errores

Publicado por José (5 intervenciones) el 04/11/2015 15:25:45
Buenas tardes,

Gracias por sus contestaciones, seguramente me envalé y no expliqué bien lo que quiero hacer. ( Lo voy a intentar :(

Tengo hecho un script con nombre ejercicio6, entonces este hace una serie de cosas y ahora lo que quiero hacer es añadir al script ejercicio6 un control de los posibles errores que pueden producirse en su invocación: invocación sin argumentos, invocación con más de un argumento, invocación con un argumento que no es un archivo de texto e invocación con un archivo que no se encuentra en el
sistema de archivos. Para cada tipo de error tengo que mostrar un mensaje informando del error.

Muchas gracias por su atención,

Saludos

José J.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Script bash. Control de errores

Publicado por xve (254 intervenciones) el 04/11/2015 19:29:12
Hola José, por lo que veo son todo condicionales...

Te adjunto esta pequeña chuleta que es para lo que necesitas..

$1-$n Variables generadas automáticamente según los parámetros recibidos
$* Guarda todos los parámetros, de 1 a n
$0 Guardo el nombre del script. Seria el parámetro 0 de la linea de comandos
$ Guarda todos los parámetros pero con comillas dobles (" ") en cada uno de ellos.
$? "status" Guarda el valor devuelto por el ultimo comando ejecutado
$# Guarda el numero de parámetros recibidos

Creo que con esto, tienes casi todos tus condicionales... por ejemplo, para verificar que únicamente hayas recibido 1 parámetro, seria algo así:
1
2
3
if [ $# -eq 2 ];then
    print "Hay que enviar un solo parámetro"
fi

Recuerda, que el nombre del archivo se considera como un parametro...

Te sirve? coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Script bash. Control de errores

Publicado por Tom (254 intervenciones) el 03/11/2015 20:26:19
Tienes una introducción (que te permitiría "tirar del hilo") en:

https://es.wikibooks.org/wiki/El_Manual_de_BASH_Scripting_B%C3%A1sico_para_Principiantes/Opciones_%28par%C3%A1metros%29

Y, para saber si un archivo "parece contener texto" puedes usar el comando file.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar