Passing python array to bash script (and passing bash variable to python function)
Second try - this time shell takes the integration brunt.
Given foo.py containing this:
def foo():
foo = ('String', 'Tuple', 'From', 'Python' )
return foo
Then write your bash script as follows:
#!/bin/bash
FOO=`python -c 'from foo import *; print " ".join(foo())'`
for x in $FOO:
do
echo "This is foo.sh: $x"
done
The remainder is first answer that drives integration from the Python end.
Python
import os
import subprocess
foo = ('String', 'Tuple', 'From', 'Python' )
os.putenv('FOO', ' '.join(foo))
subprocess.call('./foo.sh')
bash
#!/bin/bash
for x in $FOO
do
echo "This is foo.sh: $x"
done