在一些脚本开头,通常指定脚本的解释程序。通常我们看到的是:
#! /bin/sh# 或#! /bin/bash
但是还有一些:
#! /usr/bin/env ruby#! /usr/bin/env perl#! /usr/bin/env python
那 env 到底是干啥的呢?
脚本用 env 启动的原因,是因为脚本解释器在 linux 中可能被安装于不同的目录,env 可以在系统的 PATH 目录中查找。
也就是 /usr/bin/env ruby 他会自动在 PATH 目录中找到对应的 ruby 环境。可以看到,它的灵活性更好,拓展性更好,因为在其他人的电脑中,我们不知道他的环境目录和我的是否一样,通过 env 来达到自动寻找环境的功能。
