usa una subroutine invece di un alias
callmyprogram(){
python -i -c "import time;print time.localtime()"
}
callmyprogram
Un modo semplice per farlo è con il modulo "code":
python -c "import code; code.interact(local=locals())"
Questo ti farà cadere in una shell interattiva quando viene chiamato code.interact(). Il local
argomento della parola chiave a interact
viene utilizzato per precompilare lo spazio dei nomi predefinito per l'interprete che viene creato; useremo locals()
, che è una funzione incorporata che restituisce lo spazio dei nomi locale come dizionario.
Il tuo comando sarebbe simile a questo:
python -c "import mymodule, code; code.interact(local=locals())"
che ti porta in un interprete che ha l'ambiente corretto.
Esempio:
python -c "import time ; print 'waiting 2 sec.'; time.sleep(2); print 'finished' "