답변:
특정 장치가 사용할 수있는 연결되어 있는지 여부를 테스트하려면 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
findfs
이를 위해 만들어졌습니다. 다음으로 검색 할 수 있습니다.
FS 라벨
findfs LABEL="Ubuntu" &>/dev/null
FS UUID
findfs UUID="f9035fce-b3a1-4aee-80ef-44e432b78fdb" &>/dev/null
GPT 라벨
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
.