Poesía Binaria

Aprovechando el return de la función main()

Imaginamos que en la realización de nuestro shell-script utilizamos un pequeño programa que hemos hecho en C (por ejemplo) y, además de su salida por pantalla, debemos tener también otro valor de retorno (ya sea un código de error, un número de veces que se ha realizado una acción, etc). Es decir, nuestro int main() { return X; }.

Para ello tenemos este programa:

1
2
3
4
int main()
{
  return 4;
}

Lo llamamos test.c y lo compilamos:

$ gcc -o test test.c

y justo después de ejecutar el programa, debemos leer el valor de $?, lo suyo es almacenarlo en una variable, ya que cuando llamemos a otro programa, se almacenará el valor de retorno del nuevo programa:

$ ./test
$ val=$?
$ if (( $val == 2 )); then echo «DOS»; else if (( $val == 4 )); then echo «CUATRO»; fi; fi

Foto: Lel4nd (Flickr)

También podría interesarte....