Объединение строковых переменных внутри цикла for в оболочке bash

У меня есть файл config.ini со следующим содержимым:

@ndbd

Я хочу заменить @ndbdна некоторый другой текст, чтобы закончить файл.Ниже мой код скрипта bash:

ip_ndbd=(108.166.104.204 108.166.105.47 108.166.56.241)

ip_temp=""
for ip in $ip_ndbd
do
    ip_temp+="\n\[ndbd\]\nHostname=$ip\n"   
done
perl -0777 -i -pe "s/\@ndbd/$ip_temp/" /var/lib/mysql-cluster/config.ini

По сути, я просто хочу получить все IP-адреса в определенном формате, а затем заменить @ndbdсгенерированной подстрокой.

Однако мой цикл for не объединяет все данные из $ip_ndbd, а только первый элемент в списке.

Поэтому вместо получения:

[ndbd]
HostName=108.166.104.204 

[ndbd]
HostName=108.166.105.47 

[ndbd]
HostName=108.166.56.241

я получение:

[ndbd]
HostName=108.166.104.204 

Я почти уверен, что есть лучший способ написать это, но я не знаю, как

Буду признателен за помощь.

Заранее спасибо.

5
задан Obinwanne Hill 13 March 2012 в 21:55
поделиться