Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Simona Pisano - 2018-11-18
- # simona-scripts
- # Libertamente utilizzabile sotto GPL v3
- #sget-pendrive() {
- n_found=0
- for short_dev in `lsblk -ndlo NAME` ; do
- drive="/dev/$short_dev"
- if [[ -b $drive ]] ; then
- short_dev="${drive##*/}" # estract substring: take only final part after last '/' char
- #for drive in /dev/sd?* /dev/nvme* ; do
- #if [[ -b $drive ]] ; then
- letter=${drive:7:1}
- #short_dev="${drive##*/}" # estract substring: take only final part after last '/' char
- #base search
- udev=`udevadm info -q path -n $drive`
- udev=`udevadm info -a -p $udev `
- search=`echo KERNEL==\"$short_dev\"`
- udev_info=`echo "$udev" | grep $search | tr -d ' ' `
- [[ $udev_info != "KERNEL==\"$short_dev\"" ]] && continue #not correct device
- udev_info=`echo "$udev" | grep 'SUBSYSTEM=="block"' | tr -d ' ' `
- [[ $udev_info != "SUBSYSTEM==\"block\"" ]] && continue #not correct device
- udev_info=`echo "$udev" | grep 'ATTR{events}=="media_change"' | tr -d ' ' `
- [[ $udev_info != "ATTR{events}==\"media_change\"" ]] && continue #not correct device
- #check > 0 per evitare device pur presenti ma senza memoria inserita
- udev_info=`echo "$udev" | grep -E 'ATTR{size}=="[0-9]{1,}"' | tr -d ' ' `
- [[ $udev_info != *"ATTR{size}=="* ]] && continue #not correct device
- value=` echo "$udev_info" | cut -d "\"" -f2 | cut -d "\"" -f1 `
- [[ $value -lt 1 ]] && continue #not correct device
- echo -e "Pendrive \e[1;39;41m$drive\e[0m (size $(($value *512/1000/1000/1000 ))GBi) detected."
- #break #uncomment to stop search after the first
- n_found=$(( $n_found + 1 ))
- fi
- done
- [[ $n_found -lt 1 ]] && echo "No pendrive found" || echo "$n_found pendrives total found."
- #}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement