আপনি যদি প্রতিদিন টার্মিনালে একই রকম টেক্সট তৈরি করতে থাকেন, তবে কেন না প্রক্রিয়াটি সহজ করে সময় বাঁচাতে .txt টেমপ্লেট স্ক্রিপ্ট তৈরি করুন? যদি এটা আকর্ষণীয় লাগে, তবে একটি টার্মিনাল চালু করুন, আপনার প্রিয় টেক্সট এডিটর বেছে নিন, এবং চলুন শুরু করি!
নতুন টেমপ্লেট স্ক্রিপ্ট তৈরি করুন
আপনার পছন্দের যেকোনো উপায়ে একটি নতুন ব্যাশ স্ক্রিপ্ট তৈরি করুন। আমরা টার্মিনালে nano এডিটর ব্যবহার করে আমাদের হোম ডিরেক্টরির "Scripts" ফোল্ডারে "MTE_template.sh" নামে একটি ফাইল তৈরি করছি:
nano MTE_template.sh
আপনার প্যারামিটার ডিফাইন করুন
আপনার প্রিয় এডিটরে ফাইলটি খুলুন। সবচেয়ে উপরে, এটি ব্যাশ স্ক্রিপ্ট বলে ডিফাইন করার টিপিক্যাল ইন্ট্রো লিখুন:
#!/bin/sh
ক্লিন এবং লেজিবল রাখতে, একটি কমেন্টেড-আউট লাইন দিন, যা অনুসরণ করবে তার জন্য একটি টাইটেল দিয়ে।
"যা অনুসরণ করবে" অংশ হলো আমাদের টেমপ্লেটে ডিফাইন করতে চাওয়া প্যারামিটারهای একটি গুচ্ছ। আমাদের টেমপ্লেট স্ক্রিপ্ট কমপ্লিট হলে, আমরা সে প্যারামিটারগুলো ফিড করব যাতে সেগুলো আমাদের টেক্সটে ইনজেক্ট হয়।
আমরা কমেন্টেড-আউট লাইনে "Our parameters" লিখলাম টাইটেল হিসেবে:
#Our parameters
এরপর, আমরা তিনটি প্যারামিটার, "SITE", "AUTHOR", এবং "CONTACT" তিনটি নম্বরযুক্ত ভেরিয়েবলে ম্যাপ করলাম:
SITE=$1 AUTHOR=$2 CONTACT=$3
আপনি একইভাবে ভিন্ন বা আরও প্যারামিটার ডিফাইন করতে পারেন।
আপনার টেমপ্লেট তৈরি করুন
আমাদের টেমপ্লেট প্যারামিটারগুলো ঠিক ঠাক után, এখন টেক্সট টেমপ্লেটটি তৈরি করার 시간।
আগের মতো, একটি কমেন্টেড-আউট লাইন দিন টাইটেল হিসেবে:
#Template
এখানে আমরা টেমপ্লেটে কী যোগ করছি:
- আমরা আমাদের টেমপ্লেটকে দুটি লাইনের মধ্যে "স্যান্ডইচ" করব।
- প্রথম লাইন পড়বে
cat << EOFএবং বেসিকভাবে বলবে "যা অনুসরণ করবে (AKA: আমাদের আসল টেমপ্লেট),EOFআসা পর্যন্ত, সেটিকে একটি একক ইনপুট হিসেবে বিবেচনা করো।" - দ্বিতীয় লাইন হলো
EOF, এই কেসে "codeword", যাcatকমান্ড লুপ ভাঙে এবং টেমপ্লেট শেষ করে।
cat << EOF Welcome to a Bash-generated TXT template for $SITE. Created by $AUTHOR. Contact me at $CONTACT. EOF
একটি আরও ব্যবহারিক টেমপ্লেট ইমেইলের রূপে আসতে পারে। আপনি "$NAME" এবং "$TASK" প্যারামিটার ডিফাইন করে ইমেইল টেমপ্লেট তৈরি করতে পারেন:
cat << EOF Hello $NAME, I just wanted to get back to you regarding $TASK. Would you be so kind as to update me on any changes? Best regards, My Name EOF
শেষে আপনার এডিটস সেভ করুন (Ctrl + O) এবং প্রোগ্রাম থেকে এক্সিট করুন (Ctrl + X)।
এরপর, আপনার স্ক্রিপ্টকে এক্সিকিউটেবল করুন:
chmod u+x MTE_template.sh
এভাবে, আপনি আপনার স্ক্রিপ্টের নাম ব্যবহার করে নতুন ডকুমেন্ট তৈরি করতে পারবেন।
একটি টেস্ট রান
আপনার ডিফাইন করা প্যারামিটারসহ স্ক্রিপ্টটি রান করুন। আমাদের টেস্ট রান এমন দেখাচ্ছে:
./MTE_template.sh Make_Tech_Easier Ody mymail@mailserver.com
প্রথম অংশ হলো আমাদের স্ক্রিপ্টের নাম, "Make_Tech_Easier" প্রথম প্যারামিটার, "Ody" দ্বিতীয়, এবং "mymail@mailserver.com" তৃতীয়।
লক্ষ্য করুন আমরা আন্ডারস্কোর (_) ব্যবহার করেছি "make tech easier" শব্দগুলো একসাথে গ্রুপ করার জন্য। আপনি যদি স্পেস ব্যবহার করতে চান, তবে কোটেশন মার্ক যোগ করুন (উদাহরণস্বরূপ, "Make Tech Easier")।
ডকুমেন্ট তৈরি করুন
আপনার স্ক্রিপ্ট প্রস্তুত থাকলে, রিডাইরেক্টের ক্ষমতায় আপনি এটি টেমপ্লেট হিসেবে ব্যবহার করে নতুন ডকুমেন্ট তৈরি করতে পারবেন।
এতে করতে, টেস্ট রানের মতোই রান করুন, কিন্তু আপনার প্যারামিটার ডিফাইন করার পর > path/to/file/filename.txt লিখুন। আমাদের কেসে, আমাদের কমান্ডটি এমন:
./MTE_template.sh Make_Tech_Easier Ody mymail@mailserver.com > /home/ducklord/Documents/new_MTE_note.txt
এভাবে, আপনি আপনার টেমপ্লেটকে নির্দেশ দিচ্ছেন যে এর ফলাফল টার্মিনালের বদলে ডিফাইন করা ফাইলে আউটপুট করুন। আসল ফলাফলের জন্য নিচের চিত্রটি চেক করুন।
এটা খুব সহজ লাগলো না!
যদিও এটি জটিল দেখাতে পারে, যদি আপনি উপরের নির্দেশনাগুলো অনুসরণ করেন, তবে এটি আসলে খুব সহজ। এটি খুব উপকারী হবে যদি আপনি একই টেমপ্লেট থেকে বারবার টেক্সট তৈরি করতে থাকেন। উদাহরণস্বরূপ, আপনি রেগুলার ইমেইল, প্রোডাক্ট ইনফরমেশন পেজ ইত্যাদির তৈরি অটোমেট করতে পারেন, যেখানে একই শব্দ বা ফ্রেজ একই টেক্সটে একাধিকবার আসতে পারে।
অথবা আপনি একদম এক্সট্রা মাইল যেতে পারেন, কিছু অতিরিক্ত পড়াশোনা করে, একই পদ্ধতি ব্যবহার করে কোড-জেনারেটিং টেমপ্লেট তৈরি করতে পারেন যা উদাহরণস্বরূপ, একটি সিঙ্গেল কমান্ডে পুরো সাইটের স্ট্রাকচার ধারণকারী HTML ফাইল সেট আপ করতে সাহায্য করতে পারে বা স্টার্টআপের সময় রুট হিসেবে একটি ব্যাশ স্ক্রিপ্ট রান করতে পারে।