【问题标题】:What is the practical value of using a shebang line?使用shebang线有什么实用价值?
【发布时间】:2018-03-23 14:16:17
【问题描述】:

当我使用 sourceruby 调用脚本时,我没有注意到任何区别。我猜shebang行的好处是,如果您将脚本作为可执行文件运行,环境知道要调用哪个程序。不确定是否是这种情况;但我只是在验证。

【问题讨论】:

  • 你的假设是正确的。 #! 允许您使用几乎任何任意工具来执行您的程序。

标签: shell unix shebang


【解决方案1】:

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

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

另见:

【讨论】:

    猜你喜欢
    • 2012-10-06
    • 1970-01-01
    • 2023-03-09
    • 2022-01-03
    • 2011-12-12
    • 2023-03-24
    • 1970-01-01
    • 2015-12-16
    相关资源
    最近更新 更多