使用shebang线有什么实际价值?

时间:2018-03-23 14:16:18

标签: shell unix shebang

当我使用sourceruby来调用脚本时,我没有发现任何差异。我猜测shebang系列的好处是,如果您将脚本作为可执行文件运行,环境将知道要调用的程序。不确定是否是这种情况;但我只是在验证。

1 个答案:

答案 0 :(得分:1)

source命令忽略了shebang行。当shell以正常方式调用脚本时(不使用.source),shell使用shebang行为脚本分叉正确的解释器。 shebang系列可以包含:

  • 可以解释脚本的任何可执行文件的直接路径,以及解释器的参数(#!/usr/local/bin/perl -w
  • / usr / bin / env将找到路径(#!/usr/bin/env bash)。这样做的好处是它可以防止硬编码路径并让shell获取特定于环境的路径。在这种情况下,无法向解释器发送参数

另见: