সনাক্ত করা অপারেটিং সিস্টেম এবং CPU- র টাইপ এত সহজ করতে নয় portably । আমার আছে একটিsh
প্রায় 100 টি লাইনের স্ক্রিপ্ট রয়েছে যা ইউনিক্স প্ল্যাটফর্মগুলির বিস্তৃত বিভিন্ন জুড়ে কাজ করে: আমি 1988 সাল থেকে যে কোনও সিস্টেম ব্যবহার করেছি।
মূল উপাদানগুলি হ'ল
uname -p
হয় প্রসেসরের ধরনের কিন্তু সাধারণত unknown
আধুনিক ইউনিক্স প্ল্যাটফর্মের উপর।
uname -m
কিছু ইউনিক্স সিস্টেমে "মেশিন হার্ডওয়্যার নাম" দেবে।
/bin/arch
যদি এটি বিদ্যমান থাকে তবে সাধারণত প্রসেসরের ধরণ দেবে।
uname
কোনও যুক্তি ছাড়াই অপারেটিং সিস্টেমটির নাম দেবে।
অবশেষে আপনাকে প্ল্যাটফর্মগুলির মধ্যে পার্থক্যগুলি এবং কীভাবে সূক্ষ্ম করতে চান সে সম্পর্কে আপনাকে ভাবতে হবে । উদাহরণ হিসেবে বলা যায়, শুধু কিছু সহজ রাখা, আমি চিকিত্সা i386
মাধ্যমে i686
কোন, "Pentium*
" এবং যে কোনও " AMD*Athlon*
" হিসাবে এরx86
।
আমার ~/.profile
প্রারম্ভকালে একটি স্ক্রিপ্ট চালায় যা একটি স্ট্রিংয়ের জন্য একটি ভেরিয়েবল সেট করে যা সিপিইউ এবং অপারেটিং সিস্টেমের সংমিশ্রণ নির্দেশ করে। আমি প্ল্যাটফর্ম-নির্দিষ্ট আছে bin
, man
, lib
, এবং include
উপর ভিত্তি ডিরেক্টরি যে সেট আপ করুন। তারপরে আমি এনভায়রনমেন্ট ভেরিয়েবলের একটি বোতললোড সেট করি। উদাহরণস্বরূপ, মেলটি পুনরায় ফর্ম্যাট করার জন্য একটি শেল স্ক্রিপ্ট কল করতে পারে, উদাহরণস্বরূপ, $LIB/mailfmt
যা প্ল্যাটফর্ম নির্দিষ্ট এক্সিকিউটেবল বাইনারি।
আপনি অপকৃষ্টভাবে করতে চান , uname -m
এবং প্লেইন uname
আপনাকে বলতে হবে তুমি কি অনেক প্ল্যাটফর্মের উপর জানতে চাই। আপনার প্রয়োজন হলে অন্যান্য জিনিস যুক্ত করুন। (এবং ব্যবহার করুন case
, নেস্টেড নয় if
!)