与或相比,使用#!/usr/bin/env <sh|bash|python>
shebang的目的是什么?#!/bin/bash
#!/bin/sh
#!/usr/bin/python
答案1
有些人可能会使用与系统版本不同的 python(perl 等)。/usr/bin/env python
将运行配置为当前版本的版本,从而可能使脚本更具可移植性。
另一方面,据报道,有些系统没有/usr/bin/env
。另外,您不能使用#!/usr/bin/env foo x
来替代#!foo x
,因为foo x
将被解释为单个参数。因此该方法的价值值得商榷。