On Fri, Apr 24, 2015 at 12:04 PM, John R Pierce pierce@hogranch.com wrote:
On 4/24/2015 9:47 AM, Gordon Messmer wrote:
On 04/24/2015 03:57 AM, Pete Geenhuizen wrote:
if you leave it out the script will run in whatever environment it currently is in.
I'm reasonably certain that a script with no shebang will run with /bin/sh. I interpret your statement to mean that if a user is using ksh and enters the path to such a script, it would also run in ksh. That would only be true if you "sourced" the script from your shell.
oh fun, just did some tests (using c6.latest). if you're in bash, ./script (sans shebang) runs it in bash. if you're in dash or csh, ./script runs it in sh. if you're in ksh, it runs it in ksh.
If I'm doing cron jobs or a top-level control script I usually just specify the interpreter explicitly like cd somewhere && sh some_script.sh cd somewhere_else && perl some_script.pl so it works even if I forget to chmod it executable...