0

複数のサブインターフェイスと複数のアプリが独自のサブインターフェイス IP で実行されているため、facter変数を使用してループを反復しようとしています$name

ここに私のインターフェースがfacterコマンド出力にあります

ipaddress_eth0_0 => 10.3.68.98
ipaddress_eth0_1 => 10.3.68.99
ipaddress_eth0_2 => 10.3.68.100
ipaddress_eth0_3 => 10.3.68.101

私のマニフェストファイル

define myapp {
     exec {"$name":
        command => /bin/sed -i 's/IP_ADDRESS=\"127.0.0.1\"/IP_ADDRESS=\"$ipaddress_eth0_$name\"/' /opt/app.$name/bin/setenv.sh
}

myapp { [ "0", "1" , "2", "3" ]: }

一部の方法$ipaddress_eth0_$nameでは機能しません:(この変数を解析していません.2つの変数を結合するにはどうすればよいですか?

4

3 に答える 3

0

中括弧で変数をラップしてみてください。

例えば

   define myapp {
      exec {"$name":
        command => /bin/sed -i 's/IP_ADDRESS=\"127.0.0.1\"/IP_ADDRESS=\"${ipaddress_eth0}_${name}\"/' /opt/app.${name}/bin/setenv.sh
   }

アップデート

コマンドを二重引用符で囲んでいただけますか

   define myapp {
      exec {"$name":
        command => "/bin/sed -i 's/IP_ADDRESS=\"127.0.0.1\"/IP_ADDRESS=\"${ipaddress_eth0}_${name}\"/' /opt/app.${name}/bin/setenv.sh"
   }
于 2014-01-28T22:22:54.800 に答える