0

bashスクリプトの途中でインタプリタを変更する方法はありますか?

たとえば、次のように開始します。

#!/bin/bash

後で変更します:

#!$drush_location

その理由は、bashを使用して、bashを使用してdrushの場所を解決し、その変数をインタープリターとして渡したいためです。

4

1 に答える 1

3

2 つのスクリプトを作成し、最初のスクリプト (bash) を使用して 2 つ目のスクリプト (drush) を起動する必要があります。

これを実現する方法は他にもありますが、基本的には上記のことを実現するための凝った方法です。たとえば、ヒアドキュメントを使用して、最初のスクリプトに文字列として含まれるスクリプトを drush の stdin に詰め込んで実行するか、一時ファイルを作成してスクリプトとして実行することもできますが、2 つ実行する必要があります。途中でインタープリターを変更することはできません。

実際にやるべきことは、drush を見つけられるように環境を修正することです。次に、次を使用できます。

#!/usr/bin/env drush

drush スクリプトのハッシュバンとして。システム環境変数が見つからない場合は、見つかるまで検索パスを修正してください!

于 2011-06-02T09:57:25.667 に答える