2013-04-15 15 views
7

シェルスクリプトの作成に慣れていて、いくつかの問題があります。1つのBashスクリプトから別のBashスクリプトへの配列の受け渡し

私は私が私が

これまでにやっていることscriptTwo.sh

に渡したいscriptOne.shで文字列の配列を持っている

を達成したい何./scriptTwo.shを使用して最初のスクリプトから2番目のスクリプトを実行し、./scriptTwo.sh $variableOneを使用して文字列変数を1つずつ渡しました。

問題は、渡されない配列変数を渡そうとするときです。私は./scriptTwo.sh "${array[@]}"を使用して配列の最初のエントリを渡すことができましたが、これはエントリの1つで、私はそれらのすべてが必要です。配列を渡すのあなたの助けを事前に

おかげ

+0

を使用します。http://stackoverflow.com/questions/31726705/how-to-pass-an-argument-with-space-from-bash-script-to-bash-script –

答えて

7

あなたの方法は、問題は、あなたがそれを受け取るどのような方法でおそらく正しい

./scriptTwo.sh "${array[@]}" 

です。 scriptTwo.shで、関連

array=("[email protected]") 
+0

この2番目のスクリプトに複数の配列を渡すとどうなりますか? 'arrayOne =(" $ 1 @ ")'などを宣言する方法はありますか? – StuStirling

+0

@ DiscoS2:複数の配列を渡すことははるかに問題になります。ただし、各配列の前に配列サイズを前置してから、2番目のスクリプトの配列を埋め込むことは可能です。 – choroba

+0

返事をありがとう。あるスクリプトから別のスクリプトにデータを渡す方法を変更することにしました。なぜなら、それは誤って間違っても簡単になりましたが、あなたの答えに感謝します。それは間違いなく助けになりました! – StuStirling

関連する問題