Sto creando uno script che legge il contenuto di un file, manipola il contenuto e lo aggiunge a un altro file (in particolare il file degli host virtuali). La formattazione e lo spazio bianco nel file di output sono importanti ma quando scrivo il contenuto, lo spazio bianco viene rimosso.
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
Quindi la prima eco produce qualcosa di simile
<VirtualHost *:80>
ServerAdmin webmaster@domain
DocumentRoot "root/web"
ServerName domain
ErrorLog "root/logs/error_log"
</VirtualHost>
ma la stringa che entra nel file è
<VirtualHost *:80> ServerAdmin webmaster@domain DocumentRoot "root/web" ServerName domain ErrorLog "root/logs/error_log" </VirtualHost>
Come preservare lo spazio bianco durante l'aggiunta nel file di destinazione? Ho cercato questo, ma tutte le domande simili non si applicano alla mia sceneggiatura senza riscriverla.
echo $TEMPLATEfunzioni. Dovrebbe anche comprimere più spazi bianchi.