X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=devbyid;fp=devbyid;h=ecf498817c9664f55b8e38e1a4118de06929c28f;hb=3f252d6d03ae2a7c85e852d5ebe24ac59a4dcd25;hp=0000000000000000000000000000000000000000;hpb=0a2a4d11ef323da19d0cebe2f5ec7b1be7bd15bc;p=automated-distro-installer diff --git a/devbyid b/devbyid new file mode 100755 index 0000000..ecf4988 --- /dev/null +++ b/devbyid @@ -0,0 +1,19 @@ +#!/bin/bash + +# input eg: /dev/sda1 or /dev/sda +# output: /dev/disk/by-id/model+serial, or if no link exists, the same as input + +short_dev=$1 # i.e. + +# devices are identified by model+serial num, +# and wwn. model+serial gives me more info, so use that. +shopt -s extglob +for id in /dev/disk/by-id/!(wwn*); do + [[ -e $id ]] || break # if we matched nothing + if [[ $(readlink -f $id) == "$short_dev" ]]; then + printf '%s\n' "$id" + exit + fi +done +# a vm may not have a by-id link. +printf '%s\n' "$short_dev"