2017-02-09 20 views
2

名前に変数を持つ変数に値を割り当てるにはどうすればよいですか?Bashの動的変数名に割り当て

var1="file" 
var2_$var1="folder" 

上記のコードはエラー-bash: var2_file=folder: command not foundです。私はその変数に変数に別の変数を代入する方法を知りたいと思っていました。バッシュの

バージョンは「GNUのbashのは、バージョン4.1.2」bash

+0

これは非常にシェル固有です。どのシェルを使っていますか? Bash(エラーメッセージから)?バージョンも記載してください。コメントで返信しないでください。質問自体を編集してください。 –

+0

なぜそれが必要ですか?あなたの目標を達成するためのより良い方法があるかもしれません。 – choroba

+0

99%の場合、連想配列を使用することをお勧めします。 – jm666

答えて

0

あなたが使用できるあるdeclare

declare var2_$var1="123" 
+1

'export'も同じように動作しますか? 'set'はどうですか? –

+0

お返事ありがとうございます。私は 'export'、' set'、 'declare'のすべてをうまく動かしました。しかし、それの価値を引き出す方法を知っている!! 'echo $ var2_ $ var1' 出力は" 123 "でなければなりません – vardhan

+0

はい、これはこの方法の問題です。私は代わりに配列を使用して組み合わせることをお勧めします – hek2mgl

0

どのように動的な名前を保持して取得するためにそれを使用するために別の変数を使用する方法について設定後の値?

new_var=var2_$var1 
declare var2_$var1="123" 
echo "${!new_var}" # => 123 

残念ながら、bashはdeclare $new_var="123"を許可していません - この小さなきれいに作られたであろう。

関連する問題