Xargs কিছুই পাইপিং


14

আমার কাছে একটি স্ক্রিপ্ট রয়েছে যা কিছু পরিস্থিতিতে স্টাটআউটে কিছুই থাকতে পারে। স্ক্রিপ্টের শেষে, আমি xargs ব্যবহার করে আমার অন্য একটি কমান্ডের রেখাগুলি পাস করি। আমার সমস্যাটি হ'ল, যখন স্টাডআউটে কিছুই নেই, আমি সাধারণত "ব্যবহার: প্রোগ্রাম আরগ 1 আরজি 2" ত্রুটি বার্তাটি পাই।

আমি কীভাবে এড়াতে পারি?


8
একটি উত্তরে আপনার "সম্পাদনা" সরান এবং আপনার নিজের উত্তর গ্রহণ করুন। আপনার আবিষ্কারগুলি অন্য ব্যক্তির পক্ষে কার্যকর হবে। meta.unix.stackexchange.com/questions/809/…
andcoz

1
এ সময় পর্যাপ্ত পয়েন্ট ছিল না। এখনই করবে।
রিচার্ড

উত্তর:


13

আপনার একটি -rবা --no-run-if-emptyবিকল্প প্রয়োজন ।

মনে রাখবেন যে এই নির্দিষ্ট আচরণটি ক্রস-প্ল্যাটফর্ম তৈরি করা শক্ত। বিএসডি সংস্করণগুলি ডিফল্টর xargsসাথে চালানো -r। জিএনইউ সংস্করণটির এটির প্রয়োজন। এর FreeBSD সংস্করণ xargsউপেক্ষা -rগনুহ সাথে সামঞ্জস্যের জন্য পতাকা। ম্যাক ওএস এক্স সংস্করণটি পতাকাটি গ্রহণ করে না এবং ত্রুটি ছুঁড়ে দেয় illegal option

এর পরে আপনি $OSTYPEক্রস-প্ল্যাটফর্ম স্ক্রিপ্ট লেখার উপর ভিত্তি করে কোনও ওএস সনাক্তকরণ ব্যবহার করতে পছন্দ করতে পারেন । আরও ভাল, xargsনিজের আচরণ সনাক্ত করার চেষ্টা করুন । এটি দিয়ে চালান -rএবং যদি এটি ব্যর্থ হয় (স্থিতি কোড> 0), এটি ছাড়াই চালান -r


3

কেন আপনি ম্যান পৃষ্ঠাগুলি পড়তে হবে তার একটি পাঠ…

-rবা --no-run-if-emptyপতাকার আমার বন্ধু।

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