The thing is that sys.exit works pretty much the same way

====
azi@goodegg:~$ cat foo.sage
import sys
sys.exit(42)
azi@goodegg:~$ sage foo.sage
42
azi@goodegg:~$ echo $?
1
====

And the print itself is extremely annoying. I need to call Sage 10^6 times
from an external program and get 10^6 lines of non-needed output.


On Sat, Jan 17, 2015 at 11:24 PM, Robert Bradshaw <
[email protected]> wrote:

> On Sat, Jan 17, 2015 at 2:02 PM, John H Palmieri <[email protected]>
> wrote:
> >
> >
> > On Saturday, January 17, 2015 at 10:28:22 AM UTC-8, Jernej Azarija wrote:
> >>
> >> Hello,
> >>
> >> I have to use Sage from an external comand and in order to do so I'll
> need
> >> to rely on the exit status given by Sage. Considering a trivial example
> >>
> >> =============
> >> $ cat foo.sage
> >> exit(0)
> >> =============
> >>
> >>
> >> I get the following behaviour
> >>
> >>
> >> =============
> >> $ sage la.sage
> >> 0
> >> $ echo $?
> >> 1
> >> =============
> >>
> >> There are two things I am confused with here.
> >>
> >> 1. Why do we print 0?
> >>
> >>
> >> 2. Why is the exit status 1 - indicating an error by UNIX standards?
> >>
> >>
> >> Is there any reason behind this? If yes , what would be the best way to
> >> force my own exit status so that I can interpret the execution of Sage
> from
> >> an external program?
> >
> >
> > The underlying problem is that the "exit" function in Python doesn't
> accept
> > any arguments, so "exit(0)" raises an error when you run it in Sage.
> This is
> > why the exit status is nonzero. If your script had the line "exit()", it
> > would run as expected. Given that, I'm not sure why it prints 0. If you
> do
> > "exit(3)", it will print 3 instead.
>
> You probably want sys.exit, which does take an exit status as an integer.
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "sage-devel" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sage-devel/CriQpiwWRLA/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to