আমার একটি স্ক্রিপ্ট রয়েছে যেখানে এটি কোনও প্যাকেজ ইনস্টল রয়েছে কিনা তা পরীক্ষা করে এবং 8080 বন্দরটি কোনও বিশেষ প্রক্রিয়া দ্বারা ব্যবহৃত হচ্ছে কিনা তা যাচাই করে। বাশ নিয়ে আমি মোটেও অভিজ্ঞ নই, তাই আমি এরকম কিছু করেছি:
if dpkg -s net-tools; then
if netstat -tlpn | grep 8080 | grep java; then
echo "Shut down server before executing this script"
exit
fi
else
echo "If the server is running please shut it down before continuing with the execution of this script"
fi
# the rest of the script...
যাইহোক, যখন স্ক্রিপ্টটি কার্যকর করা হয় আমি টার্মিনালে dpkg -s net-tools
এবং netstat -tlpn | grep 8080 | grep java
আউটপুট উভয়ই পাই , এবং আমি তা চাই না, আমি কীভাবে আউটপুটটি আড়াল করব এবং এর ফলাফলের সাথে কীভাবে আটকে থাকব if
?
এছাড়াও, আমি যা করছি তার করার কি আরও কি মার্জিত উপায় আছে? এবং কী প্রক্রিয়াটি 8080 বন্দরটি ব্যবহার করছে (এটি ব্যবহার করা হচ্ছে কেবল তা নয়) যদি আরও কোন উপায় জানার উপায় থাকে তবে তা কি?
grep -q
, এবং&> ...
প্রতিশব্দ হিসাবে নতুন ব্যাশ> ... 2>&1