2011-06-02 155 views
0

有没有办法改变的解释在bash脚本更改解释bash脚本

中间例如入手:

#!/bin/bash 

后来更改为:

#!$drush_location 

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

+0

但是,如果你在shebang行中指定了一个* different *命令解释器,那么'bash'如何有机会解决任何问题?这不会改变“bash”脚本中间的解释器 - 使用不同的解释器,它不再是“bash”脚本。 – pavium 2011-06-02 09:53:09

回答

3

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

还有其他方法可以实现这一点,但它们都是基本上花哨的方式来完成上述操作。例如,您可以使用here-doc将第一个脚本中包含的字符串填充到标准输入框中,然后执行该操作,甚至可以编写临时文件并将其作为脚本执行,但必须运行两个以某种方式进行处理,您无法即时更改解释器。

真的要做的事情将是修复你的环境,以便它可以发现眩晕。然后你可以使用:

#!/usr/bin/env drush 

作为你的drush脚本的hashbang。如果你的系统没有找到它,那么修复你的搜索路径,直到它可以!