create/update 'blog - shebang - the case for env bash.md' file
This commit is contained in:
29
blog - shebang - the case for env bash.md
Normal file
29
blog - shebang - the case for env bash.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# SHEBANG: The case for `/usr/bin/env bash`
|
||||
|
||||
Not every system has binaries in the same location!
|
||||
|
||||
From [Ycombinator](https://news.ycombinator.com/item?id=7596191)
|
||||
|
||||
|
||||
>clarry 708 days ago
|
||||
>
|
||||
>*Are there any situations where you wouldnt be able to find bash in /bin/bash?*
|
||||
>
|
||||
>Yes there are.
|
||||
>
|
||||
>OpenBSD for instance installs third party software under `/usr/local`. Bash is not a part of the base system.
|
||||
>
|
||||
>env(1) on the other hand is a POSIX standard utility and comes with the OS.
|
||||
|
||||
> kirubakaran 708 days ago
|
||||
>
|
||||
> [in addition to what clarry said] Habit of using `/usr/bin/env` becomes more important in other use-cases, such as invoking Python interpreter.
|
||||
|
||||
>nnnnni 708 days ago
|
||||
>
|
||||
>Exactly. I often use `#!/usr/bin/env` python2 to specify python 2.x on my systems where python 3 is the default.
|
||||
|
||||
## Reference
|
||||
* [Hey Kid, I'ma Interpreter!! Stop all the static interpreter referencin'!](https://deftly.net/posts/2014-03-17-stop-all-the-ref.html)
|
||||
* [Howto Make Script More Portable With #!/usr/bin/env As a Shebang](http://www.cyberciti.biz/tips/finding-bash-perl-python-portably-using-env.html)
|
||||
* [Rethinking Your shebang](http://www.brianstorti.com/rethinking-your-shebang/)
|
||||
Reference in New Issue
Block a user