ইউনিক্সের মতো সিস্টেমে দুটি আউটপুট পাথ রয়েছে যা অবিস্মরণিত রেখে দেওয়া থাকলে আপনার স্ক্রিনে আউটপুট প্রেরণ করবে। স্ট্যান্ডার্ড ত্রুটি (বা স্টডার) হ'ল এটি বেশিরভাগ ব্যর্থতা এবং ত্রুটির শর্তগুলি ক্যাপচার করে।
"নিয়মিত আউটপুট" হিসাবে একই আউটপুট স্ট্রিমে স্টার্ডারে অনুমতি অস্বীকৃত বার্তাটি পাস করার জন্য আপনাকে অবশ্যই দুটিটি একত্রিত করতে হবে। আপনার উদাহরণে, grep -v
এটিতে সঠিকভাবে পরিচালনা করার জন্য , আপনি যে স্ট্যান্ডআউট (স্ট্যান্ডার্ড আউটপুট) এবং স্টার্ডার দেখেন তার সাথে মিলিত করুন see
থেকে গনুহ ব্যাশ ম্যানুয়াল অধ্যায় 3.2.2 পাইপলাইন :
যদি ' |&
' ব্যবহার করা হয়, কমান্ড 1 এর স্ট্যান্ডার্ড ত্রুটি, এর স্ট্যান্ডার্ড আউটপুট ছাড়াও, পাইপের মাধ্যমে কমান্ড 2 এর স্ট্যান্ডার্ড ইনপুটটির সাথে সংযুক্ত থাকে ; এটা সংক্ষিপ্ত 2>&1 |
। স্ট্যান্ডার্ড আউটপুটে স্ট্যান্ডার্ড ত্রুটির এই অন্তর্নিহিত পুনঃনির্দেশ কমান্ড দ্বারা নির্দিষ্ট কোনও পুনর্নির্দেশের পরে সঞ্চালিত হয়।
এছাড়াও, গিরিহা উল্লেখ করে, আপনি যদি স্ট্যাডার আউটপুট থেকে মুক্তি পেতে চান তবে আপনি এর মতো কিছু করতে চান
find -name 'myfile.*' 2> /dev/null
অথবা সম্ভবত
find -name 'myfile.*' 2> /tmp/errorlog
এবং মনে রাখবেন যে আপনার যদি কমান্ডের স্ট্রিং থাকে যেমন find
তার আউটপুটটি পাস করার সময় xargs
আপনাকে কমান্ডের সমস্ত উপাদান থেকে আউটপুট ক্যাপচার করতে কমান্ডের পুরো পাইপলাইনটি বন্ধনীতে রাখতে হবে। যেমন,
(find | egrep ^[RS].[0-9]+/.svg] | xargs head -1 ) 2> /dev/null
যদি আপনি বন্ধনী ছেড়ে চলে যান এবং পরিবর্তে এটি করেন -
find | egrep ^[RS].[0-9]+/.svg] | xargs head -1 2> /dev/null
আপনি এখনও অনুসন্ধান বা egrep থেকে অনুমতি অস্বীকৃত ত্রুটি দেখতে পাবেন, তবে স্টার্ডার xargs এর জন্য পুনঃনির্দেশিত হবে।
যেমনটি আপনি দেখেছেন, আপনি সম্ভবত স্টাডারকে একটি পরীক্ষা চালানোর সময় এর সামগ্রীগুলি দেখার পরে ফেলে দেবেন।
নোট করুন যে GNU এর সাথে find
এবং যতদূর আমি বলতে পারি যে কোনও POSIX- সম্মতিযুক্ত find
, -print
বিকল্পটি অন্তর্নিহিত। আপনি চাইলে এখনও স্পষ্টভাবে সরবরাহ করতে পারেন।