[ubuntu-ar] Cómo interrumpir un script

Roman H. Gelbort roman at piensalibre.com.ar
Sun Aug 19 23:37:36 UTC 2012


El 19/08/12 12:41, Mariano Absatz - gmail escribió:
> 2012/8/19 Mariano Absatz - gmail <el.baby en gmail.com
> <mailto:el.baby en gmail.com>>
>
>     Román,
>
>     mal y pronto, lo que yo hago es esto:
>
>     comando_que_quiero_ver_como_sale
>     RC=$?
>     if [ $RC -ne 0 ] ; then
>        echo "se pudrió todo"
>        exit 1
>     fi
>     sigo_mi_script
>
> Como dice Eduardo, el "exit", si lo ejecutás desde un script, sale del
> script pero no del shell que lo llamó. Si lo invocás "a mano" desde el
> shell, te lo cierra. 
>

Muchas gracias a todos... me sirvieron mucho los consejos.

Terminó saliendo esto:

func_error()
{
  if [ "$?" -eq "100" ]; then
    echo -e "\n Hubo un error. Mirar las últimas líneas.\n"
    exit
  fi
}

Descubrí que el código de salida de apt es 100 cuando hay errores, pero
que encontrar que un paquete ya está instalado no lo considera error y
sale con el código 0.

Por eso en el if pregunto si el exitcode es 100.

Al hacer una función, ahorro muchas líneas porque son muchos los
paquetes que tengo para instalar. Solamente necesito poner algo como:

sudo apt-get install inkscape || func_error

Ojalá le sirva a alguien más.

Muchas gracias... no será el último favor que les pida. :-)

-- 
-----------------------------------------------------------------------------------
|Prof. Román H. Gelbort
-----------------------------------------------------------------------------------
|Cooperativa de trabajo | http://www.fameghino.com.ar
|Cooperativa de trabajo | http://www.unixono.com.ar
-----------------------------------------------------------------------------------

------------ pr?xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://lists.ubuntu.com/archives/ubuntu-ar/attachments/20120819/47c439cb/attachment.html>


More information about the Ubuntu-ar mailing list