জিএনইউ সন্ধান করুন: 'খুঁজে' যখন কোনও মিল খুঁজে পায় না ত্রুটিটি অক্ষম করুন


2

আমি একটি সেটআপ পেয়েছি যেখানে নির্দিষ্ট ডিরেক্টরিতে 0 বা ততোধিক ফাইল সন্ধানের জন্য আমাকে 'ফাইন্ড' ব্যবহার করতে হবে, তবে, যখন একটি নির্দিষ্ট পরীক্ষার সাথে মেলে এমন কোনও ফাইল নেই তখন 'ফাইন্ড' সর্বদা একটি ত্রুটি তৈরি করে। কোনও ফাইলের প্যাটার্নটি মেলে না, তখন ত্রুটিগুলি বাদ দিয়ে 'অনুসন্ধান' চালানো কি সম্ভব?


2
GNU findকমপক্ষে আমার সিস্টেমে ডিফল্টরূপে ত্রুটিগুলি প্রতিবেদন করে না।
মাধ্যাকর্ষণ

উত্তর:


1

@ গ্রাভিটির মতোই বলেছিলেন যে অনুসন্ধানগুলি এই ত্রুটিগুলি প্রতিবেদন করার আশা করে না। যাইহোক আপনি যদি ত্রুটি আউটপুট দমন করতে চান তবে স্ট্যাডারকে / dev / নালটিতে পুনঃনির্দেশ করুন:

find  . HERE_YOUR_FIND_PARAMS 2&> /dev/null

আপনার সাধারণ অনুসন্ধানের সাব-পাথের কোনও ডিরেক্টরি রয়েছে যেখানে খোলার অনুমতি নেই সেখানে স্ট্যাডারকে লেখার একটি সাধারণ ক্ষেত্রে ঘটে case


1
এর 2&>পরিবর্তে কেন ব্যবহার করবেন 2>?
ফ্রাঙ্ক মুলিউনার

আসলেই একটি সম্পূর্ণ সমাধান নয় কারণ প্রস্থান কোডটি এখনও শূন্যের পরিবর্তে 1 হবে, স্ক্রিপ্টগুলি ভেঙে যাওয়ার সম্ভাবনা রয়েছে।
sorin

1

আপনি কি কেবল ত্রুটিগুলি উপেক্ষা করতে পারেন? অথবা, আরও নির্দিষ্টভাবে, এগুলিতে পুনর্নির্দেশ করবেন /dev/null?


আমি ফলাফলগুলি একটি স্ক্রিপ্টে ব্যবহার করছি, তাই না, আমি কেবল ত্রুটিগুলি উপেক্ষা করতে পারি না। Stderr কে / dev / null কাজগুলিতে পুনঃনির্দেশ করা হচ্ছে।
এলি

0

আমি এখন পর্যন্ত একমাত্র কার্যকরী সমাধান খুঁজে পেয়েছি:

find something 2&> /dev/null || true

এটি নিশ্চিত করে যে চূড়ান্ত প্রস্থান কোড শূন্য হয় এমনকি কোনও মিল নেই এবং স্টাডাউট ত্রুটিগুলিও আড়াল করে।

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