This is really good advice.  Any time you've got a process being run by some tool on your behalf (cron, initd, remote job execution, etc), you're running in an alien environment.  You get so used to things "just working" when you run them interactively, you forget how much of your carefully crafted login environment you're depending on.  The more you make things totally explicit, the less chance there is for things to go south in a hard-to-debug way.

On Nov 14, 2021, at 8:47 AM, YiFei Zhu <> wrote:

Honestly, I think you should not depend on the behavior of
shebang-less scripts as the executable. You should either put "bash
/path/to/" or add a shebang to top of the script.