2013-10-13 253 views
1

我想加載一個sage文件並從該文件運行一個函數,全部來自bash。python sage從命令行附加並運行另一個命令

attach命令給我找麻煩...

這工作:

bash-prompt$ sage -c "print 2; print 3" 
2 
3 
bash-prompt$ 

這也適用於:

bash-prompt$ sage -c "attach somefile.sage" 
some print just to confirm the file is loaded 
bash-prompt$ 

但是,這並不工作:

bash-prompt$ sage -c "attach somefile.sage; print 3" 
python: can't open file '/path/to/somefile.sage; print Integer(3)': [Errno 2] No such file or directory 

How我可以得到這個工作嗎,或者我能做些什麼呢?

回答

0

我認爲最簡單的方法就是調用函數作爲實際Sage文件的最後一行:也就是說,例如,「somefile.sage」將具有最後一行print 3

+0

這是一個錯誤的聖人,正在追蹤http://trac.sagemath.org/ticket/15275。 –

+0

不錯的發現:) ... no..short..comments..allowed ... – frnhr

1

如果幫助別人......

我最終使用這個畸形:

sage somefile.sage && sage -python -c "execfile('somefile.py'); wrapper()" && rm somefile.py 

確定,rm部分是不是真的那麼必要:)