Я створюю сценарій, який читає вміст файлу, маніпулює вмістом і додає до іншого файлу (зокрема, файл віртуальних хостів). Форматування та пробіли у вихідному файлі важливі, але коли я записую вміст, пробіл викреслюється.
VHOST_PATH="/etc/apache2/extra/httpd-vhosts.conf"
TEMPLATE_PATH="./template.conf"
TEMPLATE=$(<TEMPLATE_PATH)
# manipulating $TEMPLATE
echo $TEMPLATE #outputs correct whitespace
echo $TEMPLATE >> $VHOST_PATH #does not output correct whitespace
Тож перше відлуння виробляє щось подібне
<VirtualHost *:80>
ServerAdmin webmaster@domain
DocumentRoot "root/web"
ServerName domain
ErrorLog "root/logs/error_log"
</VirtualHost>
але рядок, який потрапляє у файл, є
<VirtualHost *:80> ServerAdmin webmaster@domain DocumentRoot "root/web" ServerName domain ErrorLog "root/logs/error_log" </VirtualHost>
Як зберегти пробіл під час додавання до цільового файлу? Я шукав це, але всі подібні запитання не стосуються мого сценарію, не переписуючи його.
echo $TEMPLATEце спрацювало б. Він також повинен зруйнувати кілька пробілів.