আমি এমন একটি স্ক্রিপ্ট তৈরি করছি যা কোনও ফাইলের বিষয়বস্তু পড়ে, বিষয়বস্তুগুলি পরিচালনা করে এবং অন্য কোনও ফাইলে সংযোজন করে (বিশেষত ভার্চুয়াল হোস্ট ফাইলটি)। আউটপুট ফাইলে ফর্ম্যাট এবং সাদা স্থান গুরুত্বপূর্ণ তবে আমি যখন বিষয়বস্তু লিখি তখন শ্বেত স্পেসটি বাইরে বেরিয়ে যায়।
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
কাজ করবে। এটির পাশাপাশি একাধিক শ্বেতস্থানও ভেঙে ফেলা উচিত।