呃... 其實我也不知道,所以我也跑去 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
就可以帶來一種安全的便利。
沒有留言:
張貼留言