为什么在shebang使用env?

使用#!/usr/bin/env shebang与#!/bin/bash#!/bin/sh#!/usr/bin/python什么?

有些人可能会使用与系统不同的python(perl等)。 /usr/bin/env python将运行配置为当前版本的版本,可能使脚本更具可移植性。

另一方面,据报道,有些系统没有/usr/bin/env 。 此外,您不能使用#!/usr/bin/env foo x替换#!foo x ,因为foo x将被解释为单个参数。 所以这种方法的价值是值得商榷的。