diff options
author | Darik Horn <[email protected]> | 2011-12-04 13:50:27 -0600 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2011-12-05 09:47:03 -0800 |
commit | 04bf5ecc1f04ed5955ab9951c833d6b08db57356 (patch) | |
tree | af427553d78078c5b951f35d53ebda155fda939a | |
parent | 9c8254f6f95b2b08e2031b2682a632e0df45cefb (diff) |
Quote variables in the zpool_id script.
For consistency and safety, quote all variables in the zpool_id
script. This accomodates a `-c CONFIG` parameter value with
whitespace in the path name.
Also fix a typo in the usage synopsis for `-h`.
Signed-off-by: Brian Behlendorf <[email protected]>
Issue #439
-rwxr-xr-x | cmd/zpool_id/zpool_id | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/cmd/zpool_id/zpool_id b/cmd/zpool_id/zpool_id index a67beaca0..e3cd0f6c0 100755 --- a/cmd/zpool_id/zpool_id +++ b/cmd/zpool_id/zpool_id @@ -1,7 +1,7 @@ #!/bin/bash -CONFIG=${CONFIG:-/etc/zfs/zdev.conf} -AWK=${AWK:-/usr/bin/awk} +CONFIG="${CONFIG:-/etc/zfs/zdev.conf}" +AWK="${AWK:-/usr/bin/awk}" if [ -z "${PATH_ID}" ]; then # The path_id helper became a builtin command in udev 174. @@ -19,7 +19,7 @@ die() { usage() { cat << EOF -Usage: zpool_id [h] [-c configfile] <devpath> +Usage: zpool_id [-h] [-c configfile] <devpath> -c Alternate config file [default /etc/zfs/zdev.conf] -d Use path_id from device as the mapping key -h Show this message @@ -30,10 +30,10 @@ EOF while getopts 'c:d:h' OPTION; do case ${OPTION} in c) - CONFIG=${OPTARG} + CONFIG="${OPTARG}" ;; d) - DEVICE=${OPTARG} + DEVICE="${OPTARG}" ;; h) usage @@ -42,21 +42,21 @@ while getopts 'c:d:h' OPTION; do done # Check that a device was requested -[ -z ${DEVICE} ] && usage +[ -z "${DEVICE}" ] && usage # Check for the existence of a configuration file -[ ! -f ${CONFIG} ] && die "Missing config file: ${CONFIG}" +[ ! -f "${CONFIG}" ] && die "Missing config file: ${CONFIG}" # If we are handling a multipath device then $DM_UUID will be # exported and we'll use its value (prefixed with dm-uuid per # multipathd's naming convention) as our unique persistent key. # For traditional devices we'll obtain the key from udev's # path_id. -if [ -n "${DM_UUID}" ] && echo ${DM_UUID} | egrep -q -e '^mpath' ; then +if [ -n "${DM_UUID}" ] && echo "${DM_UUID}" | egrep -q -e '^mpath' ; then ID_PATH="dm-uuid-${DM_UUID}" else eval `${PATH_ID} ${DEVICE}` - [ -z ${ID_PATH} ] && die "Missing ID_PATH for ${DEVICE}" + [ -z "${ID_PATH}" ] && die "Missing ID_PATH for ${DEVICE}" fi # Use the persistent key to lookup the zpool device id in the @@ -65,10 +65,10 @@ fi # Exact matches are required, wild cards are not supported, # and only the first match is returned. Also note the following # regex pattern only appears to work with gawk, not mawk or awk. -ID_ZPOOL=`${AWK} "/\<${ID_PATH}\>/ && !/^#/ { print \\$1; exit }" ${CONFIG}` -[ -z ${ID_ZPOOL} ] && die "Missing ID_ZPOOL for ID_PATH: ${ID_PATH}" +ID_ZPOOL=`${AWK} "/\<${ID_PATH}\>/ && !/^#/ { print \\$1; exit }" "${CONFIG}"` +[ -z "${ID_ZPOOL}" ] && die "Missing ID_ZPOOL for ID_PATH: ${ID_PATH}" -if [ ${ID_ZPOOL} ]; then +if [ -n "${ID_ZPOOL}" ]; then echo "ID_PATH=${ID_PATH}" echo "ID_ZPOOL=${ID_ZPOOL}" echo "ID_ZPOOL_PATH=disk/zpool/${ID_ZPOOL}" |