অগ্রাধিকার হিসাবে ব্যবহার করার জন্য আমি এই সাইটে সুপারিশ সহ বেশ কয়েকটি জায়গায় দেখেছি ( পছন্দের বাশ শেবাং কী? ) । আমি এমনকি একজন উদ্যোগী ব্যক্তিকে দেখেছি যে ব্যবহারটি ভুল ছিল বলে পরামর্শ দেয় এবং ব্যাশ কার্যকারিতা এটি করে হারাতে পারে।#!/usr/bin/env bash
#!/bin/bash
#!/bin/bash
যা যা বলেছিল, আমি দৃ tight়ভাবে নিয়ন্ত্রিত পরীক্ষার পরিবেশে ব্যাশ ব্যবহার করি যেখানে প্রচলিত প্রতিটি ড্রাইভই মূলত একক মাস্টার ড্রাইভের ক্লোন। আমি বহনযোগ্যতার যুক্তিটি বুঝতে পারি, যদিও এটি আমার ক্ষেত্রে অগত্যা প্রযোজ্য নয়। #!/usr/bin/env bash
বিকল্পগুলির চেয়ে বেশি পছন্দ করার আর কি কারণ আছে এবং ধরে নেওয়া বহনযোগ্যতা একটি উদ্বেগ ছিল তা কি ব্যবহারের কার্যকারিতা ভঙ্গ করতে পারে এমন কোনও কারণ আছে?
env
নাও থাকতে পারে /usr/bin
। শেবাং মন্তব্যগুলি সম্পূর্ণরূপে একটি খারাপ ধারণা আইএমএইচও। যদি আপনার ডিফল্ট স্ক্রিপ্ট ইন্টারপ্রেটার শেবাং মন্তব্যগুলি পরিচালনা না করে তবে এটি কেবল একটি মন্তব্য। তবে, যদি আপনি জানেন যে স্ক্রিপ্ট ইন্টারপ্রেটার শিবাং মন্তব্যগুলি পরিচালনা করতে পারে এবং আপনি বাশ দেওয়ার পথটি জানেন, তবে পথটি দীর্ঘ (অসম্ভাব্য) না হলে এটির পরম পথটি ব্যবহার করে বলার কোনও কারণ নেই বা আপনি সম্ভবত স্ক্রিপ্টটি পোর্ট করতে পারেন এমন একটি সিস্টেমে যেটিতে / বিনে বাশ নেই। তারপরে আবার, আমি আগে যে ক্যাভ্যাটগুলি উল্লেখ করেছি সেগুলি ক্ষেত্রে প্রযোজ্য কারণ এটিতে বহনযোগ্যতা জড়িত।
/etc
বা থাকতে হবে /bin/sh
। bash
বেশিরভাগ ইউনিক্স সিস্টেমের মতো অ্যাড-অন। এটি কেবলমাত্র লিনাক্সেই রয়েছে যেখানে এটির bash
নিশ্চয়তা রয়েছে /bin
এবং সম্ভবত এটির সাথে যুক্ত রয়েছে /bin/sh
। লিনাক্স যেহেতু অনেক লোকের জন্য আধুনিক ডি ফ্যাক্টো ইউনিক্সে পরিণত হয়েছিল লিনাক্স ব্যতীত অন্য সিস্টেমগুলি থাকতে পারে তা ভুলে গিয়েছে। নীচে আমার নিজের উত্তরে আমি লিনাক্স ধরেছিলাম কারণ আপনি বলেছিলেন bash
। আমি যে বিএসডি বাক্সগুলির সাথে কাজ করেছি তার অনেকগুলি এটি ইনস্টল করা হয়নি।
/bin/bash
। ব্যাশ ডিফল্টরূপে ইনস্টল করা হয় না। যদি আপনি এটি চান, আপনি করতে হবে pkg install bash
। একবার ইনস্টল এটি অবস্থিত /usr/local/bin/bash
। /bin/bash
ওপেনবিএসডি তে কিছুই ইনস্টল করা নেই । #!/bin/bash
ইচ্ছার ত্রুটিযুক্ত শেবাং , এবং #!/usr/bin/env bash
সফল হবে।