By default a Poke script will communicate a successful status to the environment, upon exiting:
$ cat hello #!/usr/bin/poke -L !# print "hello\n"; $ ./hello && echo $? 0
In order to exit with some other status code, most typically to signal
an erroneous situation, the Pokeish way is to raise an E_exit
exception with the desired exit status code:
raise Exception { code = EC_exit, exit_status = 1 };
This can be a bit cumbersome to write, so poke provides a more
conventional syntax in the form of an exit
function:
fun exit = (int<32> exit_code = 0) void: { raise Exception { code = EC_exit, exit_status = exit_code }; }
Using exit
, the above raise statement becomes the much simpler:
exit (1);