এটি যদি কোনও স্ক্রিপ্ট হয় তবে কেবল স্ক্রিপ্টটিকে কল করুন
bash scriptname.sh
কোনও লিঙ্ক পরিবর্তন করার দরকার নেই।
সংকলিত এক্সিকিউটেবলের জন্য আপনি ক্রুট রুট যেতে পারেন:
mkdir rootfs
cp -a /usr rootfs/
cp -a /lib rootfs/
cp -a /lib64 rootfs/
cp /bin/bash rootfs/bin/sh
cp yourprogram rootfs/
sudo chroot rootfs sh
এবং তারপরে আপনার প্রোগ্রামটি চালান বা or sudo chroot rootfs /yourprogram
যাইহোক, অনুশীলনে কোনও কারণ নেই যে আপনি /bin/bash
এটিতে সিমলিংক হিসাবে ব্যবহার করতে পারবেন না /bin/sh
। বস্তুত, সংস্করণ 6.10 পূর্বে উবুন্টু ব্যবহার করছিলেন /bin/bash
যেমন /bin/sh
, এবং তারপর তারা কারণে সুইচ /bin/sh
একটি অনেক দ্রুত হচ্ছে POSIX এর গ্রিল প্রয়োগ, /bin/sh
(যে, তার জন্য POSIX মান মেনে চলে কিভাবে অপারেটিং সিস্টেম ইউটিলিটি এবং OS আচরণ করা উচিত ইউনিক্সের মত এবং তাদের কিছু অভ্যন্তরীণ বাস্তবায়ন করুন) এবং বহনযোগ্যতার কারণে। কীভাবে কী হয়েছে সে সম্পর্কে historicalতিহাসিক নোটগুলির জন্য আমি গিলসের উত্তর পড়ার দৃ strongly়ভাবে পরামর্শ দিচ্ছি /bin/dash
। সামঞ্জস্যতা হিসাবে, dash
POSIX বৈশিষ্ট্য ব্যবহার করার জন্য লিখিত স্ক্রিপ্টগুলি bash
পুরোপুরি সূক্ষ্ম শেল হওয়ার সাথে চলবে । সাধারণত, এটি অন্যান্য উপায় যা সমস্যার সৃষ্টি করে -bash
সিনট্যাক্স বা অ্যারেগুলির /bin/sh
মতো এমন বৈশিষ্ট্যগুলির প্রয়োজন নেই <<<
যাগুলি প্রয়োজন হয় না ।
অধিকন্তু, প্রশ্নে থাকা কমান্ডটি সম্ভবত আরএইচইএল বা সেন্টোসকে মাথায় রেখে লেখা হয়েছে, যা /bin/bash
সিমিলিংক হিসাবে ব্যবহার করে /bin/sh
, দুটি বিষয় প্রস্তাব দেয়: তারা সম্ভবত নির্দিষ্ট ওএসকে লক্ষ্যবস্তু করেছিল এবং পসিক্স নীতিগুলি মেনে চলেনি। সেক্ষেত্রে কমান্ডটি কী কী প্রয়োজন তা যাচাই করে নেওয়াও ভাল ধারণা হবে কারণ এটি যদি অন্য ওএসের সাথে সত্যিই লেখা থাকে তবে আপনি কেবল পুনরায় সংযোগ স্থাপনের চেয়ে আরও সমস্যার মধ্যে পড়তে পারেন /bin/sh
।