Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2012
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. # Prints UUID of all or a specific partition
  3.  
  4. if [ "x$1" = "x" ];
  5. then # No options given, print all
  6.     echo -e "PARTITION \t DIR \t UUID"
  7.     ls -lh /dev/disk/by-uuid/ | tail -n +2 | while read LINE
  8.     do
  9.         PARTITION=/dev/$(echo "$LINE" | awk '{ print $11 }' | sed 's_^\.\./\.\./__g')
  10.         MPOINT=$(mount | grep $PARTITION | awk '{ print $3 }')
  11.         UUID=/dev/disk/by-uuid/$(echo "$LINE" | awk '{ print $9 }')
  12.         echo -e "$PARTITION \t $MPOINT \t $UUID"
  13.     done | sort -n
  14. else # Print specific partition
  15.         if [ "$(ls -lh /dev/disk/by-uuid/ | grep -o $(basename $1))" != "$(basename $1)" ]
  16.     then
  17.         if [ "x$(echo $(basename $1) | egrep '^[a-z][a-z][a-z]$')" != "x" ]
  18.         then # $1 is a harddrive
  19.             echo "Error: /dev/$(basename $1) is a harddrive, not a partition."
  20.             exit 1
  21.         else
  22.             echo "Error: /dev/$(basename $1) does not exist."
  23.                 fi
  24.     else
  25.         LINE=$(ls -lh /dev/disk/by-uuid/ | grep $(basename $1))
  26.         PARTITION=/dev/$(echo "$LINE" | awk '{ print $11 }' | sed 's_^\.\./\.\./__g')
  27.         MPOINT=$(mount | grep $PARTITION | awk '{ print $3 }')
  28.         UUID=/dev/disk/by-uuid/$(echo "$LINE" | awk '{ print $9 }')
  29.         echo -e "PARTITION \t DIR \t UUID"
  30.         echo -e "$PARTITION \t $MPOINT \t $UUID"
  31.     fi
  32. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement