বাশ (এবং অন্যান্য ইউনিক্স শেল), 32 (33) বাইট
প্রথম এবং দ্বিতীয় প্রচেষ্টা:
case `echo|od` in *5*)echo B;;*)echo L;;esac # portable
[[ `echo|od` =~ 5 ]]&&echo B||echo L # non-portable
ডেনিসকে ধন্যবাদ, সংক্ষিপ্ত সংস্করণ:
od<<<a|grep -q 5&&echo L||echo B # non-portable
echo|od|grep -q 5&&echo B||echo L # portable
echo
উপযোগ হেক্স মান একটি newline আউটপুট, 0A
এবং অন্য কোন আউটপুট। জন্য <<<a
এটা 61 0A
।
od
উপযোগ, ডিফল্ট অনুসারে, ইনপুট দুই-বাইট শব্দ হিসাবে, ব্যাখ্যা করে শূন্য প্যাডেড যদি বাইটের সংখ্যা বিজোড় হয়, এবং অকট্যালে পরিবর্তন করে। এর ফলে প্রতিধ্বনির ফলাফলটি ইন্টারপ্রেড হয়ে যায় 0A 00
, যা 005000
বিগ-এন্ডিয়ান বা 000012
লিটল-এডিয়ানতে রূপান্তরিত হয় । 61 0A
হয়ে 005141
অল্প endian এবং 060412
বড় endian হবে। আদ্যাশক্তি পূর্ণ আউটপুট এছাড়াও অর্থ আমরা ব্যবহার করতে পারবেন না ঠিকানা ও আকার ডেটা অন্তর্ভুক্ত থাকে 0
, 1
অথবা 2
পরীক্ষার জন্য।
কমান্ডটি সিস্টেমের শেষতা প্রকাশ করতে ভালভাবে সংজ্ঞায়িত করা হয়েছে। মান থেকে :
সংখ্যার মানগুলির ব্যাখ্যার সময় ব্যবহৃত বাইট ক্রমটি বাস্তবায়ন-সংজ্ঞায়িত হয় তবে এটি সেই ক্রমের সাথে মিলিত হয় যেখানে সিস্টেমে সম্পর্কিত ধরণের ধ্রুবক স্মৃতিতে সংরক্ষণ করা হয়।
সামঞ্জস্য নোট
echo|od
চারপাশে কোনও ডাবল উদ্ধৃতি না রেখে ব্যাককোটগুলি রাখলে [যা একটি তিন-শব্দ যুক্তির ফলস্বরূপ case
] সমস্ত সিস্টেমে সমর্থিত তা আমি নিশ্চিত নই । আমি নিশ্চিত নই যে সমস্ত সিস্টেমগুলি শূন্য স্ক্রিপ্টগুলিকে সমর্থন করে না যদি কোনও অবসান হওয়া নিউলাইন থাকে না। আমি বেশিরভাগ ক্ষেত্রেই নিশ্চিত তবে বিগ-এন্ডিয়ান সিস্টেমে প্যাডিং বাইট যুক্ত করার সাথে 100% বাজে আচরণের নয়। প্রয়োজনে echo a
বহনযোগ্য সংস্করণগুলির জন্য ব্যবহার করা যেতে পারে। সমস্ত স্ক্রিপ্টগুলি ব্যাশ, ksh, এবং zsh এ কাজ করে এবং পোর্টেবলগুলি ড্যাশ-এ কাজ করে।