ฉันกำลังสร้างสคริปต์ที่อ่านเนื้อหาของไฟล์จัดการเนื้อหาและผนวกเข้ากับไฟล์อื่น (โดยเฉพาะไฟล์โฮสต์เสมือน) การจัดรูปแบบและช่องว่างในไฟล์เอาต์พุตนั้นสำคัญ แต่เมื่อฉันเขียนเนื้อหาช่องว่างนั้นจะถูกตัดออก
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
จะทำงาน มันควรยุบช่องว่างหลายช่องด้วยเช่นกัน