You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
koalaman edited this page Feb 21, 2017
·
5 revisions
On most OS, shebangs can only specify a single parameter.
Problematic code:
#!/usr/bin/env bash -x
Correct code:
#!/usr/bin/env bashset -x
Rationale:
Most operating systems, including POSIX, Linux and FreeBSD, allow only a single parameter in the shebang. The example is equivalent to calling env 'bash -x' instead of env 'bash' '-x', and it will therefore fail.
The shebang should be rewritten to use at most one parameter. Shell options can instead be set in the body of the script.
Exceptions
macOS X currently allows multiple words in the shebang. Scripts running on OSX exclusively can ignore this warning.