[PATCH 4/4] bash-completion: use swapon label and uuid listing support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Simplifies the script, and makes swapoff to work for files when get
requests by label or uuid.

Signed-off-by: Sami Kerola <kerolasa@xxxxxx>
---
 bash-completion/swapoff | 22 +++-------------------
 bash-completion/swapon  |  2 +-
 2 files changed, 4 insertions(+), 20 deletions(-)

diff --git a/bash-completion/swapoff b/bash-completion/swapoff
index 60d8572..40dcf05 100644
--- a/bash-completion/swapoff
+++ b/bash-completion/swapoff
@@ -9,25 +9,11 @@ _swapoff_module()
 			return 0
 			;;
 		'-U'|'UUID=')
-			# only works for block devices, i.e., not for swap files.
-			local SWAPS
-			SWAPS="$(swapon --show=TYPE,NAME --raw --noheading | \
-				awk '$1 !~ /file/ { print $2 }')"
-			[ -z "$SWAPS" ] && return 0
-			local UUIDS
-			UUIDS="$(lsblk -nrp -o UUID "$SWAPS")"
-			COMPREPLY=( $(compgen -W "$UUIDS" -- $cur) )
+			COMPREPLY=( $(compgen -W "$(swapon --show=UUID --noheading)" -- $cur) )
 			return 0
 			;;
 		'-L'|'LABEL=')
-			# only works for block devices, i.e., not for swap files.
-			local SWAPS
-			SWAPS="$(swapon --show=TYPE,NAME --raw --noheading | \
-				awk '$1 !~ /file/ { print $2 }')"
-			[ -z "$SWAPS" ] && return 0
-			local LABELS
-			LABELS="$(lsblk -nrp -o LABEL "$SWAPS")"
-			COMPREPLY=( $(compgen -W "$LABELS" -- $cur) )
+			COMPREPLY=( $(compgen -W "$(swapon --show=LABEL --noheading)" -- $cur) )
 			return 0
 			;;
 		'-h'|'--help'|'-V'|'--version')
@@ -46,9 +32,7 @@ _swapoff_module()
 			return 0
 			;;
 	esac
-	local DEVS
-	DEVS="$(swapon --show=NAME --raw --noheading)"
-	COMPREPLY=( $(compgen -W "$DEVS" -- $cur) )
+	COMPREPLY=( $(compgen -W "$(swapon --show=NAME --raw --noheading)" -- $cur) )
 	return 0
 }
 complete -F _swapoff_module swapoff
diff --git a/bash-completion/swapon b/bash-completion/swapon
index 7656d4e..f471e07 100644
--- a/bash-completion/swapon
+++ b/bash-completion/swapon
@@ -14,7 +14,7 @@ _swapon_module()
 		'--show')
 			# FIXME: how to append to a string with compgen?
 			local OUTPUT
-			OUTPUT="NAME TYPE SIZE USED PRIO"
+			OUTPUT="NAME TYPE SIZE USED PRIO UUID LABEL"
 			compopt -o nospace
 			COMPREPLY=( $(compgen -W "$OUTPUT" -S ',' -- $cur) )
 			return 0
-- 
2.1.2

--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux