有没有办法在bash脚本中更改解释器
例如从:
开始#!/bin/bash
稍后更改为:
#!$drush_location
原因是因为我想使用bash来使用bash来解析drush的位置,然后将该var作为解释器传递
答案 0 :(得分:3)
您需要编写两个脚本并使用第一个(bash)脚本启动第二个(drush)。
还有其他方法可以实现这一目标,但它们基本上都是花哨的方式来实现上述目标。例如,您可以使用here-doc将第一个脚本中包含为字符串的脚本填充到drush上的stdin中并让它执行该脚本,或者甚至编写一个临时文件并将其作为脚本执行,但是您必须运行两个不知何故,你不能动态地改变解释器。
真正要做的就是修复你的环境,以便它可以找到匆忙。然后你可以使用:
#!/usr/bin/env drush
作为你的drush脚本的hashbang。如果你的系统evn找不到它,那么修改你的搜索路径直到可以!