Изменение интерпретатора bash-скрипта - PullRequest
0 голосов
/ 02 июня 2011

Есть ли способ изменить интерпретатор в середине скрипта bash

Например, начать с:

#!/bin/bash

Позже изменить на:

#!$drush_location

Причина в том, что я хочу использовать bash для определения местоположения drush с использованием bash, а затем передать эту переменную в качестве интерпретатора

1 Ответ

3 голосов
/ 02 июня 2011

Вам потребуется написать два сценария и использовать первый (bash) для запуска второго (drush).

Есть и другие способы сделать это, но все они в основном причудливые способы выполнениявыше.Например, вы можете использовать Here-Doc, чтобы втиснуть скрипт, содержащийся в виде строки в вашем первом скрипте, в stdin на drush и заставить его выполнить это, или даже написать временный файл и выполнить его как скрипт, но вам нужно запустить дваТак или иначе, вы не можете изменить интерпретатор "на лету".

Действительно, нужно исправить ваше окружение так, чтобы оно могло найти поток.Тогда вы можете использовать:

#!/usr/bin/env drush

В качестве хэш-бенга для вашего скрипта-сценария.Если ваша система evn не может найти ее, исправьте пути поиска, пока она не сможет!

...