2013-01-13 20 views
9

私は別のシェルスクリプトからシェルスクリプトを呼び出しています。呼び出されるスクリプトにはいくつかの入力(コマンドライン)パラメータが必要です。
私は以下のコードを記述していますが、動作していません。引数の値が呼び出されたスクリプトに渡されない理由はわかりません。シェルスクリプトを呼び出して別のシェルスクリプトから引数を渡す方法

script1.sh 
======================================= 
#!/bin/bash 
ARG1="val1" 
ARG2="val2" 
ARG3="val3" 
. /home/admin/script2.sh "$ARG1" "$ARG2" "$ARG3" 


script2.sh 
======================================= 
#!/bin/bash 
echo "arg1 value is: $1 ....." 
echo "arg2 value is: $2 ....." 
echo "arg3 value is: $3 ....." 

しかし、私はscript1.shを実行すると、私は次のような結果を得る:

arg1 value is: ..... 
arg2 value is: ..... 
arg3 value is: ..... 

私は何をしないのですか?

+0

@John、「ありがとう」を省略した理由を知ることはできますか? – user85

+5

それは無関係です。このサイトの目的は、簡潔な質問と回答でcrowdsourced FAQを構築することです。 –

+1

@sumbad、[こちら](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-be-salutations-be-removed-from-posts)をご覧ください。私は "ありがとう"、 "こんにちは"、 "よろしく"などの質問を好む。平和。 :-) –

答えて

11

. /home/admin/script2.shで2番目のスクリプトを使用すると、最初のスクリプトに効果的に含めるので、元のスクリプトのコマンドライン引数は[email protected]になります。あなたが本当にコールに引数を指定して、他のスクリプトをしたい場合は、

/home/admin/script2.sh "$ARG1" "$ARG2" "$ARG3" 

を(それが実行可能だことを確認してください)を行います。

+0

はいこれは私のために働いています! – user85

関連する問題