2017-06-08 8 views
0

Unixシェルスクリプトを使用して整数配列を変数に文字列として格納しようとしました。シェルスクリプトを使用して文字列変数に整数配列を格納する

例えば:私はこれを達成することができる方法

str="123" 

として

int array[2]={0,1,2} 

+0

機能の質問のよりますが、この文字列が9' 'よりも大きい数値を格納したいですか? 'array [3] = {9、10、11}'、 'str =" 91011 "'が問題になる可能性があると私は想像しています。 – gkubed

+0

Unixシェルスクリプトで**配列**を使って何もしていない、おそらくbashやzshではなく、POSIXシェルではない(配列がない...)。正しいタグを選択してください。 'bash'や' zsh'や 'ksh'を使って、実際に使っているシェルとマッチさせます。 –

+0

さらに、質問を明確にしてください。あなたのシェルに応じて、 '{0,1,2}'の*中括弧*(例えば混乱を避けるために引用されるべき '012')を 'array'の第2要素に代入しようとしています。例えば ​​'array [2] =" 012 "')、それを 'str = 123'にする方法を尋ねていますか?ハァッ??タイプミスや論理的な切断のいずれかがあるようですが、実際に 'array [2]'の各桁に 'str'に到達するために' + 1 'を追加したいですか? –

答えて

0

以下で試してみて、最後列strの文字列として全体の配列を格納します:

Arr=(1,2,3) 
$ echo ${Arr} 
1,2,3 

str=`echo "${Arr//,}"` 
$ echo $str 
123 
+0

私はあなたがどこに行くのかを見ます。答えの中に(コードとして)あなたのコードを書式設定するには、常にあなたのコードの前に '4-space'を置いてください。また、 'Arr =(1,2,3)'を 'array [2] = {0,1,2}'と等価にする方法は?単一の配列 'Arr [0] =" 1,2,3 "'を作成します。ここで元の配列は配列[2] = {0,1,2}です。その後、通常の変数表記をガード(たとえば '$ {var}')で使用して、 'Arr'の最初の要素にアクセスしますか?私は質問がこの時点で答えるのに十分明確であるかどうかはわかりませんが、あなたの答えはさらなる説明の恩恵を受けるかもしれません。 –