View difference between Paste ID: 3B1vFCPP and dYGAbnk2
SHOW: | | - or go back to the newest paste.
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
16+
	then
17-
			if [ "x$(echo $(basename $1) | egrep '^[a-z][a-z][a-z]$')" != "x" ]
17+
		if [ "x$(echo $(basename $1) | egrep '^[a-z][a-z][a-z]$')" != "x" ]
18-
			then # $1 is a harddrive
18+
		then # $1 is a harddrive
19-
				echo "Error: /dev/$(basename $1) is a harddrive, not a partition."
19+
			echo "Error: /dev/$(basename $1) is a harddrive, not a partition."
20-
				exit 1
20+
			exit 1
21-
			else
21+
		else
22-
				echo "Error: /dev/$(basename $1) does not exist."
22+
			echo "Error: /dev/$(basename $1) does not exist."
23-
            fi
23+
            	fi
24-
		else 
24+
	else 
25-
			LINE=$(ls -lh /dev/disk/by-uuid/ | grep $(basename $1))
25+
		LINE=$(ls -lh /dev/disk/by-uuid/ | grep $(basename $1))
26-
			PARTITION=/dev/$(echo "$LINE" | awk '{ print $11 }' | sed 's_^\.\./\.\./__g')
26+
		PARTITION=/dev/$(echo "$LINE" | awk '{ print $11 }' | sed 's_^\.\./\.\./__g')
27-
			MPOINT=$(mount | grep $PARTITION | awk '{ print $3 }')
27+
		MPOINT=$(mount | grep $PARTITION | awk '{ print $3 }')
28-
			UUID=/dev/disk/by-uuid/$(echo "$LINE" | awk '{ print $9 }')
28+
		UUID=/dev/disk/by-uuid/$(echo "$LINE" | awk '{ print $9 }')
29-
			echo -e "PARTITION \t DIR \t UUID"
29+
		echo -e "PARTITION \t DIR \t UUID"
30-
			echo -e "$PARTITION \t $MPOINT \t $UUID"
30+
		echo -e "$PARTITION \t $MPOINT \t $UUID"
31-
		fi
31+
	fi
32
fi