【问题标题】:Changing interpreter bash script更改解释器 bash 脚本
【发布时间】:2011-09-06 23:02:12
【问题描述】:

有什么方法可以在 bash 脚本中间更改解释器

例如开头:

#!/bin/bash

稍后更改为:

#!$drush_location

原因是因为我想使用 bash 来解析 drush 使用 bash 的位置,然后将该 var 作为解释器传入

【问题讨论】:

  • 但是如果你在 shebang 行中指定一个 不同的 命令解释器,bash 将如何有机会解决任何问题?这不会更改 bash 脚本中间的解释器 - 使用不同的解释器,它不再是 bash 脚本。

标签: drupal bash interpreter drush


【解决方案1】:

您需要编写两个脚本并使用第一个 (bash) 来启动第二个 (drush)。

还有其他方法可以做到这一点,但它们基本上都是实现上述目的的奇特方法。例如,您可以使用 here-doc 将包含在您的第一个脚本中的字符串作为字符串填充到 drush 上的标准输入中并让它执行,或者甚至编写一个临时文件并将其作为脚本执行,但您必须运行两个以某种方式处理,您不能即时更改解释器。

真正要做的事情是修复您的环境,以便它可以找到 drush。然后你可以使用:

#!/usr/bin/env drush

作为 drush 脚本的 hashbang。如果您的系统无法找到它,请修复您的搜索路径,直到它可以!

【讨论】:

    猜你喜欢
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 2020-01-16
    • 1970-01-01
    相关资源
    最近更新 更多