Executing script from shell problem [duplicate]
From the ^M
you can see that the file myscript.py is using windows/dos-style line breaks (Windows uses CR LF (carriage return + line feed) at the end of a line. Unix only uses LF - so what you see as ^M
is the CR. So what you are not using /usr/bin/python
but /usr/bin/python<CR>
that does not exist.
You can remove the ^M
using dos2unix
(do a sudo apt-get install dos2unix
to install and then use dos2unix myscript.py
).
Do this, then try your Python script:
$ tr -d '\r' < test.py > newtest.py
This removes the carriage returns created from Windows
To further reading, Remove Windows carriage returns with tr