উত্তর:
যে কোনও POSIX অনুগত সংস্করণটির শান্তিরgrep
-q
জন্য স্যুইচ রয়েছে :
-q
Quiet. Nothing shall be written to the standard output, regardless
of matching lines. Exit with zero status if an input line is selected.
জিএনইউ গ্রেপ (এবং সম্ভবত অন্যরা) আপনি দীর্ঘ-বিকল্পের প্রতিশব্দও ব্যবহার করতে পারেন:
-q, --quiet, --silent suppress all normal output
স্ট্রিং বিদ্যমান:
$ echo "here" | grep -q "here"
$ echo $?
0
স্ট্রিং বিদ্যমান নেই:
$ echo "here" | grep -q "not here"
$ echo $?
1
grep -q <pattern>
শেষ প্রক্রিয়াটি ( $?
) ছাড়ার জন্য আপনাকে কেবল প্রস্থান কোডের তাত্ক্ষণিক চেকের সাথে একত্রিত করতে হবে ।
আপনি এটির মতো একটি কমান্ড তৈরি করতে এটি ব্যবহার করতে পারেন, উদাহরণস্বরূপ:
uname -a | grep -qi 'linux' ; case "$?" in "0") echo "match" ;; "1") echo "no match" ;; *) echo "error" ;; esac
আপনি STDERR
পছন্দ মতো আউটপুট দমন করতে পারেন:
grep -qi 'root' /etc/shadow &> /dev/null ; case "$?" in "0") echo "match" ;; "1") echo "no match" ;; *) echo "error: $?" ;; esac
এটি বিবৃতিটি error: 2
থেকে মুদ্রণ করবে case
(ধরে নিবেন /etc/shadow
যে আমাদের পড়ার সুযোগ নেই বা ফাইলটি বিদ্যমান নেই) তবে ত্রুটি বার্তাটি grep
পুনঃনির্দেশিত হবে /dev/null
যাতে আমরা এটি কখনও দেখি না।
echo $?
দিলে এটি ব্যর্থ হবেgrep
।