Okay, so many people won't know what the hell I'm on about here but this just wasted a hell of a lot of my time. It turns out that shell script paths don't work if you use crlf (Windows) line endings.
Here's an exmple. Let's say you have a script that runs fine from the browser and from the command line but for whatever reason (cron doesn't run from your htdocs directory for example) you want to set up a shell wrapper. So you write this:
#myscript.sh cd $HOME/scripts php myscript.php
But when you run it from the command line the response is:
: No such file or directory line 2: cd: /htdocs/scripts Status: 404 Not Found X-Powered-By: PHP/5.2.17 Content-type: text/html No input file specified.
Well, turns out it could well be because you used CRLF instead of LF line endings. Merely changing to LF will make the script run perfectly.
I know, I know.
Other Carl sites