단일 명령으로 연결된 모든 USB 디스크 마운트 해제

단일 명령으로 연결된 모든 USB 디스크 마운트 해제

단일 명령줄 명령을 사용하여 암호화된 여러 luks 파티션을 포함하여 연결된 모든 USB 장치(USB 하드 드라이브, USB 스틱)의 모든 파티션을 마운트 해제하는 (안전한) 방법이 있습니까?

USB 장치의 파티션만 마운트 해제해야 합니다.

답변1

나는 posix-ish를 유지하기 위해 최선을 다했습니다. udev 정보를 표시하는 데 사용할 수 있는 적절한 "udevadm" 패키지가 없으면 실패할 것이라는 점에 유의하십시오.

#!/bin/bash

command_exists () {
    type "$1" &> /dev/null
}

CMD=""

if command_exists udevadm; then
        CMD="$(which udevadm) info -q all -n"
fi

if command_exists udevinfo; then
        CMD="$(which udevinfo) -q all -n"
fi

echo "The udevinfo command for this system is $CMD"


for disk in /dev/sd*
do
        DISK=$($CMD $disk | grep ID_BUS)
        if [[ "$DISK" == *usb ]]; then
                echo "$disk is USB, now unmounting.."
                umount $disk
        fi
done

관련 정보