ksh এবং bash সম্পূর্ণ পৃথক, তবে বাশ এবং শ বাইনারি বেশিরভাগই অভিন্ন। ওএস এক্স এর শ বাশের একটি সংস্করণ যা:
- আছে POSIX মোড সক্ষম করা হয়েছে। বাশ ডিফল্টরূপে POSIX মেনে চলে না।
- বিভিন্ন স্টার্টআপ আচরণ আছে। উদাহরণস্বরূপ
sh -l
পড়েন না ~/.bash_profile/
।
- Xpg_echo ডিফল্টরূপে সক্ষম হয়েছে। সুতরাং
echo
মত কাজ করে echo -e
এবং এটি কোনও বিকল্প সমর্থন করে না।
ডিফল্ট এফসিইডিআইটি sh এ এডিট বা এডিটর বা এ্যাড:
$ diff -y --suppress-common-lines -W 80 <(strings /bin/bash) <(strings /bin/sh)
> /bin/bash
${FCEDIT:-${EDITOR:-ed}} | ${FCEDIT:-ed}
@(#)PROGRAM:bash PROJECT:bash-86.1 | @(#)PROGRAM:sh PROJECT:bash-86.1
$ grep -rF '${FCEDIT:-${EDITOR:-ed}}' ~/Code/Source/bash-86.1/
bash-86.1/bash-3.2/builtins/fc.c:# define POSIX_FC_EDIT_COMMAND "${FCEDIT:-${EDITOR:-ed}}"
bash-86.1/bash-3.2/builtins/fc.def:# define POSIX_FC_EDIT_COMMAND "${FCEDIT:-${EDITOR:-ed}}"
উত্সটি http://opensource.apple.com/tarballs/ থেকে ডাউনলোড করা যায় ।
ম্যান বাশ থেকে :
যদি শ নামের সাথে বাশটি প্রেরণ করা হয় তবে এটি পসিক্স স্ট্যান্ডার্ডের সাথে সামঞ্জস্য রেখে যতটা সম্ভব নিবিড়ভাবে ofতিহাসিক সংস্করণের শুরুর আচরণটি নকল করার চেষ্টা করে।
যদিও এটি মূল বোর্ন শেলগুলির অন্যান্য দিকগুলি অনুকরণ করে না।
আসল বোর্ন শেলগুলি আর রক্ষণাবেক্ষণ করা হয় না এবং / বিন / শ এখন বোঝা যাচ্ছে এমন কিছু অন্য শেল যা কেবল পসিক্সের সাথে সম্মতি দেয়। ওএস এক্স এর শ্যাশ এমন ব্যাশিজমগুলি ব্যবহারের অনুমতি দেয় যা অগত্যা অন্যান্য প্ল্যাটফর্মগুলিতে / বিন / শের সাথে কাজ করে না (যেমন উবুন্টুতে ড্যাশ)।