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.
