envコマンド
UNIX のコマンドで(本来の)機能が誤解されがちなコマンドとして cat や touch が有名な 気がするが,env もそのひとつだと思う。env の使われ方としては,単独で実行して設定されている 環境変数を見たり,shebang で bash (やその他 executable)のパスをハードコードするのを避けるために
#!/usr/bin/env bash
といった感じで使われるのが多分ほとんどのような気がする。
env の本来(?)の機能は環境変数をいじってからコマンドを実行するといったところだ。 なので Bash から実行するときは env なしで
FOO=bar command
といった感じで実行しているのをこういった書き方が使えない環境で実現したいと思ったときに
env FOO=bar command
というコマンドで実行すると等価なことができるということだ。