এমন কোনও স্ট্যান্ডার্ড কমান্ড রয়েছে যা সর্বদা ব্যর্থতার সাথে উপস্থিত হয়?


42

আমি আমার স্ক্রিপ্টটি এমন একটি আদেশ দিয়ে পরীক্ষা করতে চাই যা ব্যর্থ হয়। আমি খারাপ যুক্তি সহ একটি বিদ্যমান কমান্ড ব্যবহার করতে পারি। আমি একটি সাধারণ স্ক্রিপ্টও লিখতে পারি যা তাত্ক্ষণিকভাবে একটি ব্যর্থতার সাথে উপস্থিত হয়। এই দুটিই আমার পক্ষে করা এবং কাজ করা সহজ তবে এই উদ্দেশ্যে যদি কোনও মানক কমান্ড থাকে তবে আমি তার পরিবর্তে এটি ব্যবহার করতে চাই।


false, কিন্তু কোনও অস্তিত্বহীন কমান্ড।
কুসালানন্দ

উত্তর:


51

আপনি false( /bin/false,, /usr/bin/falseবা শেল বিল্টিন) ব্যবহার করতে পারেন :

$ false || echo It failed.
It failed.
$

আপনি exit 1একটি সাব-শেল থেকেও ব্যবহার করতে পারেন :

$ (exit 1) || echo Gosh, it failed too.
Gosh, it failed too.
$

অতিরিক্তভাবে, আপনি সমেত সহ 1-255 পরিসরের যে কোনও সংখ্যার সাথে বহনযোগ্যভাবে প্রস্থান করতে পারবেন। (বেশিরভাগ শেলগুলি প্রস্থান করার জন্য প্রদত্ত অন্য কোনও সংখ্যার উপর একটি মডুলো 255 অপারেশন প্রয়োগ করবে, সুতরাং বাস্তবে আপনি অন্যান্য সংখ্যাগুলি নিয়ে পালাতে পারবেন যদিও তারা কেবল উল্লিখিত সীমার মধ্যে জোর করে রেখেছেন But তবে কিছু শেল অন্য কাজগুলি করবে, উদাহরণস্বরূপ প্রস্থান করার সাথে প্রস্থান করুন একটি সিনট্যাক্স ত্রুটি (এখনও একটি ব্যর্থতার স্থিতি) যদি নেতিবাচক মানের সাথে ডাকা হয় তবে ইউনিক্সের মতো সিস্টেমগুলি কেবল 0-255 অন্তর্ভুক্ত সীমার মধ্যেই প্রস্থান কোডগুলি সমর্থন করে, এ কারণেই আপনি প্রদত্ত অন্যান্য মানগুলির জন্য সংজ্ঞায়িত আচরণের উপর নির্ভর করতে পারবেন না সমস্ত শেল থেকে প্রস্থান করতে।)
এমট্রেসিয়র

1
এবং কিছুটা ট্রিভিয়ার হিসাবে, যদি না আপনার সত্যিকারের পুরানো / অস্পষ্ট শেলগুলির বহনযোগ্যতা প্রয়োজন হয়, আপনি এটি করতেও পারেন ! :(বা অন্য কোনও কমান্ড যা সাধারণত সাফল্য ফিরিয়ে দেয়)। !নিম্নলিখিত কমান্ডের প্রস্থান স্থিতি ত্যাগ করতে বলেছে। :হ'ল নূপ বিল্টিন কমান্ড যা সর্বদা সাফল্যের সাথে উপস্থিত হয়। ( !কমান্ডের অবহেলিত হওয়ার আগে এবং কমান্ডটিকে অবহেলা করার আগে কোনও স্থান রেখে যাওয়ার বিষয়টি নিশ্চিত করুন , অন্যথায় এটি একটি !অক্ষর দিয়ে শুরু হওয়া একটি কমান্ড হিসাবে পার্স করার চেষ্টা করবে - অথবা bashইন্টারেক্টিভ মোডের মতো শেলগুলির ক্ষেত্রে এটি একে একটি হিসাবে বিভক্ত করে তোলে এই বিশেষ ইতিহাস সংশোধক।)
এমট্রেসিয়র
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.