I’m creating a script to automate the creation of apache virtual hosts. Part of my script goes like this:
MYSTRING="<VirtualHost *:80>
ServerName $NEWVHOST
DocumentRoot /var/www/hosts/$NEWVHOST
...
"
echo $MYSTRING
However, the line breaks in the script are being ignored. If I echo the string, is gets spat out as one line.
How can I ensure that the line breaks are printed?
Add quotes to make it work:
Look at it this way:
this will be executed as:
i.e.
echowith three parameters, printing each parameter with a space in between them.If you add quotes around
$MYSTRING, the resulting command will be:i.e.
echowith a single string parameter which has three lines of text and two line breaks.