在一些脚本开头,通常指定脚本的解释程序。通常我们看到的是:

    1. #! /bin/sh
    2. # 或
    3. #! /bin/bash

    但是还有一些:

    1. #! /usr/bin/env ruby
    2. #! /usr/bin/env perl
    3. #! /usr/bin/env python

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