উত্তর:
পরীক্ষা করার জন্য একটি নির্দিষ্ট ডিভাইস আপনি ব্যবহার করতে পারেন সংযুক্ত করা হয় কিনা grep
সঙ্গে -q
আউটপুট অনুসন্ধান করতে বিকল্প lsusb
বা lsblk
যেমন
uuid=f9035fce-b3a1-4aee-80ef-44e432b78fdb
lsblk -f | grep -wq $uuid && echo yes || echo no
devicename="some Inc. Keyboard"
lsusb | grep -q "$devicename" && echo yes || echo no
বা সাথে if
:
uuid=f9035fce-b3a1-4aee-80ef-44e432b78fdb
if lsblk -f | grep -wq $uuid; then
echo yes
else
echo no
fi
উভয়ই ডিভাইস মাউন্ট করা আছে কিনা তা ব্যবহার করা যায়।
/dev/disk/
নিম্নলিখিত ডিরেক্টরি রয়েছে, যা বাস্তব ডিভাইসের সাথে প্রতীকী লিঙ্ক ধারণ করে। এই লিঙ্কগুলি গতিশীলভাবে তৈরি এবং এর দ্বারা সরানো হয়েছে udev
, সুতরাং সেগুলি সর্বদা আপ টু ডেট থাকে:
সুতরাং সিমলিংকের অস্তিত্বের জন্য অনুসন্ধান করা কম সংস্থান ব্যবহার করবে।
এখানে এর ক্রমিক নম্বর ব্যবহার করে ডিস্কের উপস্থিতি পরীক্ষা করার একটি উদাহরণ এখানে দেওয়া হয়েছে:
test -e /dev/disk/by-id/wwn-0x5002538d408be9e0 && echo yes || echo no
আমার ব্যাকআপ স্ক্রিপ্টে আমি এমনকি ডিস্কের উপস্থিতি যাচাই করি না, আমি কেবল mount
কমান্ডের ফলাফলটি কেবল এটির মতো পরীক্ষা করি :
mount -o noatime $DESTINATION_PARTITION $DESTINATION_DIR || exit 1
lsusb
সংযুক্ত ইউএসবি ডিভাইস তালিকাভুক্ত করার জন্য যদি আপনার বাহ্যিক ডিস্কটি ইউএসবি ইন্টারফেসের মাধ্যমে সংযুক্ত থাকে।
lsblk -f
আপনার বাহ্যিক ডিস্কটি একটি ব্লক ডিভাইস হিসাবে ব্লক ডিভাইস, ইউআইডি এবং তাদের মাউন্ট-পয়েন্টগুলি তালিকাভুক্ত করতে।
-f
মাউন্ট পয়েন্ট তালিকাবদ্ধ করতে হবে ? ডিফল্ট আউটপুট তালিকায় তাদের যাহাই হউক না কেন
findfs
এই জন্য তৈরি করা হয়। আপনি এর মাধ্যমে অনুসন্ধান করতে পারেন:
এফএস লেবেল
findfs LABEL="Ubuntu" &>/dev/null
FS uuid
findfs UUID="f9035fce-b3a1-4aee-80ef-44e432b78fdb" &>/dev/null
জিপিটি লেবেল
findfs PARTLABEL="EFI system partition" &>/dev/null
findfs PARTUUID="85e66d2f-3709-4060-938e-ffe836433cc9" &>/dev/null
অনুসন্ধানগুলি কেস সংবেদনশীল। যদি একাধিক পার্টিশন মেলে তবে শুধুমাত্র শেষটি প্রদর্শিত হবে।
lsblk -f | grep f9035fce-b3a1-4aee-80ef-44e432b78fdb | grep / -q && echo yes || echo no
।