Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Prints UUID of all or a specific partition
- if [ "x$1" = "x" ];
- then # No options given, print all
- echo -e "PARTITION \t DIR \t UUID"
- ls -lh /dev/disk/by-uuid/ | tail -n +2 | while read LINE
- do
- PARTITION=/dev/$(echo "$LINE" | awk '{ print $11 }' | sed 's_^\.\./\.\./__g')
- MPOINT=$(mount | grep $PARTITION | awk '{ print $3 }')
- UUID=/dev/disk/by-uuid/$(echo "$LINE" | awk '{ print $9 }')
- echo -e "$PARTITION \t $MPOINT \t $UUID"
- done | sort -n
- else # Print specific partition
- if [ "$(ls -lh /dev/disk/by-uuid/ | grep -o $(basename $1))" != "$(basename $1)" ]
- then
- if [ "x$(echo $(basename $1) | egrep '^[a-z][a-z][a-z]$')" != "x" ]
- then # $1 is a harddrive
- echo "Error: /dev/$(basename $1) is a harddrive, not a partition."
- exit 1
- else
- echo "Error: /dev/$(basename $1) does not exist."
- fi
- else
- LINE=$(ls -lh /dev/disk/by-uuid/ | grep $(basename $1))
- PARTITION=/dev/$(echo "$LINE" | awk '{ print $11 }' | sed 's_^\.\./\.\./__g')
- MPOINT=$(mount | grep $PARTITION | awk '{ print $3 }')
- UUID=/dev/disk/by-uuid/$(echo "$LINE" | awk '{ print $9 }')
- echo -e "PARTITION \t DIR \t UUID"
- echo -e "$PARTITION \t $MPOINT \t $UUID"
- fi
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement