Hi Ox-Users,
From the documentation:
" exit(const iexit);
ma [sic]
in: integer, exit code
No return value.
Exits Ox, with the specified exit code. "
To me that sounds like it should be possible to use the exit code of an ox
program within a script (e. g. "oxl myprog.ox" returns 1 in case it failed
and 0 if it succeeded). I tried using it, but it did not seem to work that
way. I tried this from a bash script and from a perl script. It would be
really useful if I could get it to work. Suggestions, anyone?
Regards,
Max
--- bash script ---
#!/bin/bash
if oxl testexit.ox 0
then
echo Exitstatus is 0
else
echo Exitstatus is not 0
fi
if oxl testexit.ox 1
then
echo Exitstatus is 0
else
echo Exitstatus is not 0
fi
if oxl testexit.ox 42
then
echo Exitstatus is 0
else
echo Exitstatus is not 0
fi
--- end bash script ---
--- ox code: testexit.ox ---
#include <oxstd.h>
main()
{
decl myExitStatus = arglist()[1];
print("myExitStatus = ", myExitStatus, "\n");
exit(myExitStatus);
}
--- end ox code ---
--- bash output (Sun) ---
Ox version 3.30 (Sun) (C) J.A. Doornik, 1994-2003
myExitStatus = 0
Exitstatus is 0
Ox version 3.30 (Sun) (C) J.A. Doornik, 1994-2003
myExitStatus = 1
Exitstatus is 0
Ox version 3.30 (Sun) (C) J.A. Doornik, 1994-2003
myExitStatus = 42
Exitstatus is 0
--- end bash output (Sun) ---
(uname -a: SunOS myhostname 5.8 Generic_108528-22 sun4u sparc SUNW,Ultra-80)
--- bash output (Linux) ---
Ox version 3.30 (Linux) (C) J.A. Doornik, 1994-2003
myExitStatus = 0
Exitstatus is 0
Ox version 3.30 (Linux) (C) J.A. Doornik, 1994-2003
myExitStatus = 1
Exitstatus is 0
Ox version 3.30 (Linux) (C) J.A. Doornik, 1994-2003
myExitStatus = 42
Exitstatus is 0
--- end bash output (Linux) ---
(uname -a: Linux myhostname 2.4.20-gentoo-r5 #4 SMP Sun Jun 1 15:19:42 GMT
2003 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz GenuineIntel GNU/Linux
--- perl script ---
#!/bin/perl
$exitStatus = system "oxl testexit.ox 0";
print "Exit status is $exitStatus\n";
$exitStatus = system "oxl testexit.ox 1";
print "Exit status is $exitStatus\n";
$exitStatus = system "oxl testexit.ox 42";
print "Exit status is $exitStatus\n";
--- end perl script ---
--- perl output (Linux) ---
Ox version 3.30 (Linux) (C) J.A. Doornik, 1994-2003
myExitStatus = 0
Exit status is 0
Ox version 3.30 (Linux) (C) J.A. Doornik, 1994-2003
myExitStatus = 1
Exit status is 0
Ox version 3.30 (Linux) (C) J.A. Doornik, 1994-2003
myExitStatus = 42
Exit status is 0
--- end perl output (Linux) ---
(sorry, I didn't run this on the Sun machine)
|