সহায়তা প্রয়োজন - একটি জিএনইউ / লিনাক্স ব্যাশে শেল স্ক্রিপ্টিংয়ের প্রসঙ্গে:
আমি সবসময় ব্যবহার করি set -e
। প্রায়শই, আমি চাই grep
এবং সর্বদা চাই না যে স্ক্রিপ্টটি নির্বাহের অবসান ঘটুক যদি ইঙ্গিত দেওয়া প্যাটার্নটি খুঁজে পাওয়া না যায় তবে grep
exit1
আমি যে সমস্যাটি এই সমস্যাটি সমাধান করার চেষ্টা করেছি সেগুলি নিম্নরূপ:
(আমি চেষ্টা করুন)
যদি set +o pipefail
এবং এরকম grep 'p' | wc -l
কোনও কিছুর সাথে গ্রাপের আবেদন করি তবে ভবিষ্যতের রক্ষণাবেক্ষণকারী সক্ষম না হওয়া পর্যন্ত আমি পছন্দসই আচরণটি পাই pipefail
। এছাড়াও, আমি সক্ষম করতে চাই pipefail
যাতে এটি আমার পক্ষে কাজ করে না।
(দ্বিতীয় চেষ্টা করুন)
এক sed
বা awk
কেবল মুদ্রিত লাইনগুলি মেলে এমন প্যাটার্ন ব্যবহার করুন, তারপরে ম্যাচ করা প্যাটার্নটির wc
জন্য পরীক্ষার জন্য মিলিত লাইনগুলি। আমি এই বিকল্পটি পছন্দ করি না কারণ এটি ব্যবহার sed
করে grep
আমার সত্যিকারের সমস্যার মতো কাজ করা উচিত।
(তৃতীয় চেষ্টা করে দেখুন)
এটি আমার সবচেয়ে প্রিয় - এটির মতো:set +e; grep 'p'; set-e
যে কোনও অন্তর্দৃষ্টি / মূর্খতা সর্বাধিক প্রশংসা হবে - আপনাকে ধন্যবাদ।