2016-04-18 27 views
1

にはどうすればKornシェルでの間接参照

iが変数

FLAG_1=0 

をしたと私は「配列から変更にこの変数の値をたいとKornシェルでの間接変数を参照することができます私は

Flags_array[0]=$FLAG_1 # this won't work as this assign the value 
をしようとした場合たとえば、

set -A Flags_array 
Flags_array[0]=? #how to achieve this here 

を設定しまし

何がこれを達成するために適切な方法で教えてください、私はこの

Flags_array[0]=FLAG_1 
echo ${Flags_array[0]} 

のようなものをやってみました。しかし、これは出力にFLAG_1

を与え、私はnamerefを使用してみましたが、私が

$ nameref Flags_array[0]=FLAG_1 
ksh: nameref: not found 

をエラー与えています? 私は何をしたい、私はFlags_array[0]=10value of FLAG_1 becomes 10

答えて

0

を書く場合、私はちょうど私のコンソール上でそれを試みたが、あなたがセットに無効なオプションを使用していると思われ、後に ....小さな代わりにを使用してみてくださいされているため、資本金:

set -a Flags_array 

はちょうど私のコンソールでこのようにそれをやったと働いた:

set -a array 
number=5 
array[0]= $number 
echo $array[0] --------> from which i got result : 5[0] 

また、単に今後の参考のために知っている、あなたは、中括弧を必要といけない{}、あなたは場所に変数を呼び出している場合にのみ使用し、これらの(発現させるため申し訳ありません)実際のデータが予想されるた、例えばここにあなたがそれらを必要とするでしょう:

were e.g. random=5 

sed "${random}s/^.*$/1/" test.txt 

はこれがあなたのために物事をクリア願っています。 。

+0

大文字Aも動作します。あなたが持っている結果は正しい結果ではありません。結果:5 [0] 'ここでは、間接参照について質問しています。 – user4890159

+1

男私は接続されているマシンで何を伝えますか?プライベートサーバー上では、それは小さな首都で動作します。エラーが発生します。また、結果が正常に動作します。本当にkshを実行していますか? – hedgehog

関連する問題