এই টিউটোরিয়ালে আমরা শিখব কিভাবে একটি সাধারণ ব্যাশ স্ক্রিপ্ট তৈরি ও রান করব যা "Hello World" প্রিন্ট করবে।
Shebang (#!) কী?
প্রতিটি শেল স্ক্রিপ্ট Shebang #! সিম্বল দিয়ে শুরু হয়। এটি স্ক্রিপ্টের প্রথম লাইনে ঘোষিত হয় এবং বেসিক্যালি শেলকে বলে যে স্ক্রিপ্ট রান করার জন্য কোন ইন্টারপ্রিটার ব্যবহার করা হবে।
#!/bin/bash ...
Hello World ব্যাশ স্ক্রিপ্ট
এখন, আমরা একটি ব্যাশ স্ক্রিপ্ট তৈরি করব যা টার্মিনালে "Hello World" শব্দগুলো প্রিন্ট করবে।
প্রথমে hello_world.sh নামে একটি ফাইল তৈরি করুন। টার্মিনাল ব্যবহার করে লিখুন:
$ touch hello_world.sh
আমাদের ফাইল তৈরি হয়েছে।
এরপর ফাইলটি আপনার পছন্দের এডিটরে খুলুন; আমি nano ব্যবহার করছি, তাই:
$ nano hello_world.sh
hello_world.sh এডিটরে খোলার পর নিচের কমান্ডগুলো টাইপ করুন:
#!/bin/bash
echo "Hello World"
শেল স্ক্রিপ্ট এক্সিকিউট করা
আমরা তৈরি করা শেল স্ক্রিপ্টটি এক্সিকিউট করলে "hello world" প্রিন্ট হবে।
শেল স্ক্রিপ্ট এক্সিকিউট করার অনেক পদ্ধতি রয়েছে:
$ sh ./hello_world.sh ## ভুল
$ ./hello_world.sh ## সঠিক
$ bash ./hello_world.sh ## সঠিক
প্রথম পদ্ধতিটি ভুল, কারণ আপনি শেলকে শেল ইন্টারপ্রিটার ব্যবহার করার জন্য বলছেন, ব্যাশ ইন্টারপ্রিটার নয়।
দ্বিতীয় পদ্ধতিটি সঠিক কারণ আমরা শুধু স্ক্রিপ্টটি রান করছি, যা ফাইলে সংজ্ঞায়িত ইন্টারপ্রিটার (প্রথম লাইন #!/bin/bash) ব্যবহার করবে।
তৃতীয় পদ্ধতিতিও সঠিক কারণ এখানে আমরা স্পষ্টভাবে বলছি ব্যাশ ইন্টারপ্রিটার ব্যবহার করতে, যা ফাইলে সংজ্ঞায়িতটির মতোই।
শেল স্ক্রিপ্ট এক্সিকিউট করার সময় Permission Denied
যদি আপনি আপনার স্ক্রিপ্ট রান করার চেষ্টা করেন:
$ ./hello_world.sh
-bash: ./hello_world.sh: Permission denied
তাহলে পারমিশন ডেনাইড এরর দেখবেন। কারণ স্ক্রিপ্টের এক্সিকিউট পারমিশন নেই।
স্ক্রিপ্টে এক্সিকিউট পারমিশন দেওয়ার জন্য:
$ chmod +x ./hello_world.sh
এখন আবার স্ক্রিপ্ট রান করলে "Hello World" প্রিন্ট হবে:
$ ./hello_world.sh
Hello World