2008/02/14

[Linux] env 的用法

Q: #!/usr/bin/env bash 跟 #!/usr/bin/bash 有什麼不一樣?
呃... 其實我也不知道,所以我也跑去 man env 看了一下:
NAME
env - run a program in a modified environment

SYNOPSIS
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]


呃…這有看沒有懂說。

結果今天在使用的時候才明白:
bash 有的時候會放在不是 /usr/bin 底下,所以下 env bash 可以給出如果 bash 不在 /usr/bin/ 底下的情況,還能使用 bash 做 interpreter。
同樣的情況也會發生在 php/pike 的身上。

像是有的時候 php cli 不是自已裝的,script 就會寫在
#!/usr/bin/php ,可是這個 script 拿到別台機器 php cli 是放在 /usr/local/bin/ 底下的就出問題啦。
所以寫做 #!/usr/bin/env php 就可以帶來一種安全的便利。

沒有留言:

[Windows] git-bash 底下的工具

因為工作轉到 Windows 平台上的關係,所以很多工具改到 Windows 上面運作,跟著在 TortoiseGit 底下使用 git-bash 來維護自己的專案原始碼。結果就是裝了前面提過的 auto-hotkey 使用熱鍵來提昇自己的平台操作速度; 但除了 hotkey...