Мой скрипт:
#!/bin/sh
cp -f host.tpl host.conf
mkdir -p /var/www/$1
server_replace="s,{server_name},$1,g"
sed -i $server_replace host.conf
alias_replace="s,{server_alias},$2,g"
sed -i $alias_replace host.conf
Файл, в котором я выполняю замену (vhost.tpl):
<VirtualHost 0.0.0.0:80>
ServerName {server_name}
ServerAlias {server_alias}
DocumentRoot /var/www/{server_name}
</VirtualHost>
Работает нормально, когда я создаю vhost с одним псевдонимом сервера
./vhost.sh domain.com www.domain.com
Но когда я хочу иметь больше псевдонимов
./vhost.sh domain.com "www.domain.com m.domain.com"
Сценарий
завершается с таким сообщением, как
sed: -e expression #1, char 31: unterminated `s' command
Нужно ли каким-либо образом экранировать символ пробела, чтобы использовать его в замещающей строке?