#! /usr/bin/env bash 和 /usr/bin/bash 的区别是什么?

/usr/bin/bash 直接指定了,当前的脚本通过什么程序解析执行。而 #! /usr/bin/env bash 则是间接地的说明了当前的脚本需要通过脚本程序执行。

通常两种写法对于执行的结果来说,没有任何任何区别。只要解释程序bash,能够获取即可。不过推荐使用env的方式进行。

#! /usr/bin/env bash 这种方式更灵活。 这个时候bash变量只要在PATH路径中即可。这里解释脚本不一定是bash,可能是 ruby, php,python 不同系统和运维人员可能安装的路径不同。#! /usr/bin/env commond 这样兼容性就很好。