Guest User

Untitled

a guest
Aug 2nd, 2012
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.25 KB | None | 0 0
  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