0

myDeploy.sh を介して変数をエクスポートしようとしていますが、エクスポートが設定されていません。私が反響しているとき、それは反響していません。ただし、コマンドで変数を明示的に設定すると、適切に設定され、エコーも発生します。以下は私のコードのスニペットです。

myDeploy.sh

 #!/bin/bash

# export the build root

export BUILD_ROOT=/tibco/data/GRISSOM2

export CUSTOM1=/tibco/data/GRISSOM2/DEPLOYMENT_ARTIFACTS/common/MDR_ITEM_E1/rulebase

export CLEANUP=$BUILD_ROOT/DEPLOYMENT_ARTIFACTS/common

cd $BUILD_ROOT/DEPLOYMENT_ARTIFACTS/common

エコーecho $BUILD_ROOTすると、パスがエコーされません。しかし、コマンドプロンプトで明示的に行うと

[root@krog3-rhel5-64 GRISSOM2]# export BUILD_ROOT=/tibco/data/GRISSOM2

ちゃんと設定して反響もします。私は何が欠けていますか?

4

1 に答える 1

6

次のようにスクリプトを実行する

. ./script

また

source script

現在のシェル コンテキストで (サブシェルを作成せずに) スクリプトを実行し、スクリプト内で設定された環境変数を現在のシェルで使用できます。

マニュアルから:

. ファイル名[引数]

現在のシェル コンテキストでfilename引数からコマンドを読み取り、実行します。filenameにスラッシュが含まれていない場合、PATH変数は filename を検索するために使用されます。Bash がPOSIXモードでない場合、filename が に見つからない場合、現在のディレクトリが検索され$PATHます。引数が指定されている場合、それらは filenameが実行されたときに位置パラメーターになります。それ以外の場合、位置パラメーターは変更されません。戻りステータスは、最後に実行されたコマンドの終了ステータス、またはコマンドが実行されていない場合はゼロです。filenameが見つからないか読み取れない場合、返されるステータスはゼロ以外です。このビルトインは と同等sourceです。

于 2013-07-25T08:03:22.003 に答える