0

If I have a script, lets call it "scr.sh" And I call it from another language e.g Python Is there a way to get the traceback of the functions and files back to the Python language.

How I think it could possibly work: the scr.sh

echo "something"
echo `get_traceback` > "/tmp/traceback" 
echo "something else

And a python script "scr2.py"

if __name__ == '__main__'
    self.call_func()

def call_func(self):
    import subprocess
    print "some"
    subprocess.call("scr.sh")
    print "thing"

Can I get the traceback the from the bash script back to the python script? I'd expect that if it exists it would look like this:

file /tmp/scr2.py , line 2 in function "main",
file /tmp/scr2.py , line 7 in function "call_func", 
bash file /tmp/scr.sh, line 2 
4
  • does bash -x scr.sh help? Nov 14, 2019 at 15:50
  • No, this is going to get the trace of the bash file commands. I don't need that. I ask if it is possible to get the trace back to the originating caller of the script. Nov 15, 2019 at 6:37
  • 1
    You'd have to generate the python part of the traceback before calling the bash script, and you'll have to make it available to bash (using the environment would be simplest) Nov 15, 2019 at 12:38
  • Yeah, that's what I was hoping to not have to do. The problem is that the bash script could be called from a number of places, and I need to find out from where exactly. Thanks anyway Nov 15, 2019 at 14:33

0

You must log in to answer this question.

Browse other questions tagged .