How to include python script inside a bash script
Just pass a HereDoc to python -
.
From python help python -h
:
- : program read from stdin
#!/bin/bash
MYSTRING="Do something in bash"
echo $MYSTRING
python - << EOF
myPyString = "Do something on python"
print myPyString
EOF
echo "Back to bash"
You can use heredoc if you want to keep the source of both bash and python scripts together. For example, say the following are the contents of a file called pyinbash.sh
:
#!/bin/bash
echo "Executing a bash statement"
export bashvar=100
cat << EOF > pyscript.py
#!/usr/bin/python
import subprocess
print 'Hello python'
subprocess.call(["echo","$bashvar"])
EOF
chmod 755 pyscript.py
./pyscript.py
Now running the pyinbash.sh
will yield:
$ chmod 755 pyinbash.sh
$ ./pyinbash.sh
Exe
The simplest approach is to just save the python script as, for example script.py
and then either call it from the bash script, or call it after the bash script:
#!/usr/bin/env bash
echo "This is the bash script" &&
/path/to/script.py
Or
script.sh && script.py