0

Awestruct サイトを起動エージェント内にデプロイするためのスクリプト シェル (Mac OS X) を作成しようとしています。そのため、デプロイする前にサイトを生成する必要があります。サイトを生成するコマンドは次のとおりです。 awestruct -g

私のスクリプトは myscript.sh です:

cd /my/site/structure/base/directory
awestruct -g

このスクリプトは、イベントが発生したときにシステムによって起動されます。

しかし、問題はそれが awestruct について知らないことです...

私の awestruct プログラムは Ruby インストールの一部であり、PATH 変数に追加されます。

スクリプトを手動で実行すると、機能します (起動しているのは私のユーザーであるため)。システムがイベントを検出してスクリプトを実行すると、次のようになります。

awestruct: command not found

問題はPATHです...

4

2 に答える 2

1

手動で機能する場合は、機能するのと同じプロンプトで次のコマンドを実行します。

which awestruct

これにより、プログラム ファイルがフル パスで出力さ/usr/local/bin/awestructれます。次に、スクリプトでそれを使用します。次に例を示します。

cd /my/site/structure/base/directory
/usr/local/bin/awestruct -g

これは、必要なアカウント用にのみ定義された他の環境変数がないことを前提としていawestructます。存在する場合は、それらが何であるかを調べ、 awestruct を実行する前にスクリプトに追加します。たとえば、次の行を使用します。

export AWESTRUCT_ENVIRONMENT_VARIABLE=foobar

(注: 他のプログラムと同様に通常どおりスクリプトを実行すると、親シェル環境は変更されません。)

于 2013-10-27T11:36:52.767 に答える