আমি নিজের ওয়েবসারভারের জন্য অ্যাপাচি এবং পিএইচপি-র জন্য কনফিগারেশন ফাইল তৈরি করতে স্বয়ংক্রিয় করতে একটি স্ক্রিপ্ট লিখছি। আমি CPanel বা ISPConfig এর মতো কোনও জিইউআই ব্যবহার করতে চাই না।
আমার কাছে অ্যাপাচি এবং পিএইচপি কনফিগারেশন ফাইলের কিছু টেম্পলেট রয়েছে। বাশ স্ক্রিপ্টটি টেমপ্লেটগুলি পড়তে হবে, কিছু ফোল্ডারে পরিবর্তনশীল প্রতিস্থাপন এবং আউটপুট পার্সড টেমপ্লেট তৈরি করতে হবে। এটি করার সর্বোত্তম উপায় কী? আমি বিভিন্ন উপায় সম্পর্কে চিন্তা করতে পারেন। কোনটি সেরা বা এর থেকে আরও কিছু ভাল উপায় থাকতে পারে? আমি খাঁটি বাশে এটি করতে চাই (উদাহরণস্বরূপ পিএইচপি এ এটি সহজ)
1) পাঠ্য ফাইলে $ {} স্থানধারককে কীভাবে প্রতিস্থাপন করবেন?
template.txt:
the number is ${i}
the word is ${word}
script.sh:
#!/bin/sh
#set variables
i=1
word="dog"
#read in template one line at the time, and replace variables
#(more natural (and efficient) way, thanks to Jonathan Leffler)
while read line
do
eval echo "$line"
done < "./template.txt"
বিটিডাব্লু, আমি কীভাবে এখানে আউটপুটটিকে বাহ্যিক ফাইলে পুনর্নির্দেশ করব? ভেরিয়েবলগুলিতে, উক্তিগুলি বললে আমার কি কিছু পালাতে হবে?
2) প্রতিটি ভেরিয়েবলকে এর মান দিয়ে প্রতিস্থাপনের জন্য বিড়াল এবং সিড ব্যবহার করুন:
প্রদত্ত টেমপ্লেট টেক্সট:
The number is ${i}
The word is ${word}
COMMAND:
cat template.txt | sed -e "s/\${i}/1/" | sed -e "s/\${word}/dog/"
অনেকগুলি প্রতীক এড়িয়ে যাওয়ার প্রয়োজনের কারণে আমার কাছে খারাপ লাগছে এবং অনেকগুলি ভেরিয়েবলের সাথে রেখাটি দীর্ঘই দীর্ঘ হবে।
আপনি কি অন্য কিছু মার্জিত এবং নিরাপদ সমাধান সম্পর্কে ভাবতে পারেন?