2017-01-11 1 views
0

私は2つの変数Var1、Var2を持つ.KSHファイルを持っています。現在、異なるファイルにX、Y値を割り当てる方法はVAR1、私xxxxx.kshスクリプトUNIXシェルのあるファイル内の変数を別のファイルに呼び出す方法

に、この2つの設定の電子メールの別のファイルから(.txtファイルまたは.kshのいずれか)を呼び出すための最良の方法は何VAR2(VAR1 = X、VAR2 = Y)

if  [ $STATUS != 0 ] 
then 
    echo "ERROR - Failed to execute the BTEQ Script for abcd `date` " | mailx -s "Failed in Script xxxxx.ksh...!!!" $LIST1(first set of emails) 
    return $STATUS 
fi 
echo "Completed load process for abcd `date`" | mailx -s "Completed load process for abcd `date`" -a $TGT_DIR/$FILE_NM $LIST2(second set of emails) 

+0

私はあなたが "ドット"にする必要があると思います。 otherFile.ksh' –

+0

2番目のファイルの形式は何ですか?あなたは例を投稿できますか? –

+0

if [$ STATUS!= 0] then echo "ERROR - abcd' date'のためのBTEQスクリプトの実行に失敗しました。 mailx-s "Failed in Script xxxxx.ksh ... !!!" $ LIST1(電子メールの最初のセット) return $ STATUS fi echo "abcd' date'の完了したロードプロセス| mailx -s "abcd' date'のロードプロセスが完了しました。-a $ TGT_DIR/$ FILE_NM $ LIST2(2番目の電子メールセット) このような電子メールでファイルを作成し、xxxxx.kshファイル もっと良い方法は何ですか – user7351498

答えて

1

私たちはTTUサーバのbashスクリプト(ここではbteqとtptを実行します)で共通のファイルを使用しますが、これはTTUに固有のものではなく、Linuxシェルスクリプトです。我々は形式をとる単一のファイルvariables.kshを持っている一般的な変数の場合

export LIST1="[email protected] [email protected] [email protected]" 
export LIST2="[email protected] [email protected]" 
export ETLLogon="someusername" 
export WorkDatabase="Commonlyusedb" 
export othervariables="other values" 

そして、これらを利用する必要がある各シェルスクリプトで、あなただけの.でそれを持ち込む:

#!/bin/ksh 

#import common variables 
. /path/to/variables.ksh 

#and now you can use these: 
if  [ $STATUS != 0 ] 
then 
    echo "ERROR - Failed to execute the BTEQ Script for abcd `date` " | mailx -s "Failed in Script xxxxx.ksh...!!!" $LIST1 
    return $STATUS 
fi 
echo "Completed load process for abcd `date`" | mailx -s "Completed load process for abcd `date`" -a $TGT_DIR/$FILE_NM $LIST2 

このシナリオでは変数をエクスポートする必要はありませんが、スクリプトのサブシェルにドロップすることが多いため、便利です。

+0

リストのネイティブ配列ではなく、文字列ですか? –

+0

...技術的にTeradata(ttuはetlスイートです)私は通常、スクリプトにハードコードされていないときにデータベースに自分の電子メールリストを格納し、必要に応じてBTEQ経由でそれらを取り出します。 – JNevill

関連する問題