diff options
Diffstat (limited to 'dmount')
-rwxr-xr-x | dmount | 31 |
1 files changed, 15 insertions, 16 deletions
@@ -5,7 +5,7 @@ printhelp () { } show () { - printf "$@\n" + printf "%s\n" "$*" notify-send "dmount" "$@" } @@ -15,7 +15,7 @@ error_msg () { } while getopts "hpPugd:" o; do case "${o}" in - d) ARGS="$ARGS $OPTARG" ;; + d) ARG="$OPTARG" ;; p) USE_USER_ID="y" ;; P) unset USE_USER_ID ;; u) USERID="$OPTARG" ;; @@ -40,8 +40,8 @@ is_crypto () { } unlock_crypto () { - NAME="$(cat /dev/null | dmenu -l 15 -p "Name" $ARGS)" - PASSWORD="$(cat /dev/null | dmenu -l 15 -p "Password" $PASSARG $ARGS)" + NAME="$(dmenu -l 15 -p "Name" ${ARG:+"$ARG"} < /dev/null)" + PASSWORD="$(dmenu -l 15 -p "Password" -P ${ARG:+"$ARG"} < /dev/null)" echo "$PASSWORD" | sudo cryptsetup open "$1" "$NAME" || FAILED="y" unset PASSWORD [ -n "$FAILED" ] && \ @@ -50,7 +50,7 @@ unlock_crypto () { } -get_available () { sudo lsblk -oPATH,SIZE,FSTYPE,MOUNTPOINT | tail -n+2 | while read i; do +get_available () { sudo lsblk -oPATH,SIZE,FSTYPE,MOUNTPOINT | tail -n+2 | while read -r i; do [ -z "$(echo "$i" | awk '{print $3}')" ] && continue [ -n "$(echo "$i" | awk '{print $4}')" ] && continue #echo "${i%% *}" @@ -68,37 +68,36 @@ getmount() { \ test -z "$mp" && \ exit 1 if [ ! -d "$mp" ]; then - mkdiryn=$(printf "No\\nYes" | dmenu $ARGS -l 15 -p "$mp does not exist. Create it?") || \ + mkdiryn=$(printf "No\\nYes" | dmenu ${ARG:+"$ARG"} -l 15 -p "$mp does not exist. Create it?") || \ exit 1 [ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || sudo mkdir -p "$mp") fi } mount_device () { - getmount "/mnt /media /mount /home -maxdepth 3 -type d -empty $alreadymounted" + getmount "/mnt /media /mount /home -maxdepth 3 -type d -empty" if [ -n "$USE_USER_ID" ]; then - if [ -n "$USERID" -a -n "$GROUPID" ]; then - MOUNTPROPS="-o uid=$USERID,gid=$GROUPID" + if [ -n "$USERID" ] && [ -n "$GROUPID" ]; then + MOUNTPROPS="uid=$USERID,gid=$GROUPID" elif [ -n "$USERID" ]; then - MOUNTPROPS="-o uid=$USERID" + MOUNTPROPS="uid=$USERID" elif [ -n "$GROUPID" ]; then - MOUNTPROPS="-o gid=$GROUPID" + MOUNTPROPS="gid=$GROUPID" else - MOUNTPROPS="-o $(grep "$(whoami)" /etc/passwd | sed 's/:/ /g' | awk '{print "uid="$3",gid="$4}')" + MOUNTPROPS="$(grep "$(whoami)" /etc/passwd | sed 's/:/ /g' | awk '{print "uid="$3",gid="$4}')" fi fi if [ -n "$IS_HFS" ]; then - MOUNTARGS="-t hfsplus" if [ -z "$MOUNTPROPS" ]; then - MOUNTPROPS="-o force,rw" + MOUNTPROPS="force,rw" else MOUNTPROPS="${MOUNTPROPS},force,rw" fi fi - sudo mount $MOUNTARGS $MOUNTPROPS "$1" "$mp" && show "Mounted successfully\n" + sudo mount ${IS_HFS:+"-t"} ${IS_HFS:+"hfsplus"} ${MOUNTPROPS:+"-o"} ${MOUNTPROPS:+"$MOUNTPROPS"} "$1" "$mp" && show "Mounted successfully\n" } -DEVICE="$(get_available | dmenu -l 15 -p "Devices" $ARGS )" +DEVICE="$(get_available | dmenu -l 15 -p "Devices" ${ARG:+"$ARG"} )" [ -z "$DEVICE" ] && exit 1 echo "$DEVICE" | grep -q "hfsplus" && IS_HFS="y" chosen="${DEVICE%% *}" |