শেলের মধ্যে "$?" বলতে কী বোঝায়?


6

আমি ডেবিয়ান 6.0 ব্যবহার করছি। আমি নিয়মিত কমান্ড লাইন আর্গুমেন্ট জানি কিন্তু কী $?বোঝাতে চেয়েছিল তা খুঁজে পাচ্ছি না ? $?লিনাক্স শেল বলতে কী বোঝায় সে সম্পর্কে কি কারও ধারণা আছে ?

উত্তর:


15

ব্যাশ , না শেল । (বাশ বেশ কয়েকটি সম্ভাব্য শেলের মধ্যে একটি though এটি যদিও সর্বাধিক সাধারণ)

এর অর্থ কার্যকর হওয়া শেষ কমান্ডের প্রস্থান কোড।

এখানে দেখুন: http://tldp.org/LDP/abs/html/othertypesv.html এবং এখানে http://tldp.org/LDP/abs/html/exit-status.html


6
$?সর্বশেষ প্রোগ্রামের রিটার্ন কোডটি নির্দেশ করতে প্রতিটি ইউনিক্স শেলটিতে আমার অ্যাক্সেস রয়েছে । এই মাত্র না অন্তর্ভুক্ত bashকিন্তু মান বোর্ন শেল, ksh, csh, এবং zsh। খুব অস্তিত্বের প্রতিটি ইউনিক্স শেল এটির সাথে একমত হয়।
ক্লি

তিনি লিনাক্সে যে শেলটি ব্যবহার করছেন তা প্রায় অবশ্যই bash, তবে $?বোর্ন শেল থেকে শুরু করে in
গাবে

@ ক্লে আপনি ঠিক বলেছেন অনুমান করুন যে এটি একটি হাঁটু-ঝাঁকুনির প্রতিক্রিয়া ছিল আমার কাছে লোকেরা সচেতন নয় যে শেল এবং ব্যাশের মধ্যে পার্থক্য রয়েছে।
Troelskn

ঠিক আছে, বাশ পাশাপাশি একটি শেল।
Ugo থেকে

5

এই শেলটি পরিবর্তনশীল "$" সমর্থনকারী শেলগুলির জন্য? সর্বাধিক সম্পাদিত একটি আদেশের রিটার্ন কোড রয়েছে।

সুতরাং আপনি যদি প্রোগ্রাম চালাচ্ছেন "abc" যা প্রস্থান করার সময় 1 প্রদান করে

$ echo $?

"1" দেয় - রিটার্ন কোড।

এবং এটি কেবল ব্যাশে উপলভ্য নয়, অন্যান্য শেলগুলিতেও এই বৈশিষ্ট্য রয়েছে।



0

বাহ, তারা উল্লেখ করেছে যে এটি শেষ সম্পাদিত প্রোগ্রামের রিটার্ন কোড, তবে কেউ উল্লেখ করেনি যে এটি 0 এর বেশি হলে এটি সম্ভবত একটি ত্রুটি নির্দেশ করে ating এটি সাধারণ অনুশীলন যে কোনও প্রোগ্রাম বা স্ক্রিপ্ট ত্রুটি ছাড়াই কার্যকর করে যখন এটি কোনও ত্রুটি ছাড়াই শেষ হয়েছে তা বোঝাতে 0 এর মান প্রদান করে। সমস্ত প্রোগ্রাম এবং স্ক্রিপ্টগুলি করে না, তবে তাদের উচিত।

$ এর মান পরীক্ষা করা হচ্ছে? একটি লিনাক্স কমান্ড চালানোর পরে আপনাকে জানানো উচিত যে সেখানে ত্রুটি আছে কিনা। সম্ভাব্য রিটার্ন মানগুলি কী তা জানতে প্রতিটি প্রোগ্রামের ডক্স পরীক্ষা করে দেখুন। কিছু মান দেয় না তবে বেশিরভাগ করে। আপনার স্ক্রিপ্টগুলিতে আপনার 'রিটার্ন এক্স' দিয়ে শেষ হওয়া উচিত যেখানে এক্স এর মান 0 = ভাল / কোনও ত্রুটি নেই এবং শূন্যের চেয়ে বড় কিছু ইঙ্গিত করে যে কিছু সমস্যা হয়েছে। এমনকি আপনার ব্যবহার করা সমস্তগুলি 0 বা 1 এর মান হলেও এটি ভাল অনুশীলন। এটি অন্যান্য স্ক্রিপ্টগুলি জানতে পারে যে শেষ কমান্ডের সাফল্য বা ব্যর্থতার ভিত্তিতে পরবর্তী লাইন / কমান্ডটি কার্যকর করা উচিত কিনা। এটি স্মার্ট স্ক্রিপ্টিং এবং আরও ভাল নিয়ন্ত্রণ তৈরি করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.