]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
bash-completion: stop being clever when listing block devices
authorSami Kerola <kerolasa@iki.fi>
Sun, 26 Oct 2014 22:07:08 +0000 (22:07 +0000)
committerKarel Zak <kzak@redhat.com>
Fri, 31 Oct 2014 09:39:00 +0000 (10:39 +0100)
Various commands such as blkid, cfdisk, fdisk, delpart, and so on listed
only partitions and missed for example disks and volume groups.  The
right thing to do is to list all block devices in all for all commands
performing operations with them.  This might occasionally list unexpected
devices that I think is lesser bad than missing some.

Addresses: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764488
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
17 files changed:
bash-completion/addpart
bash-completion/blkdiscard
bash-completion/blkid
bash-completion/blockdev
bash-completion/cfdisk
bash-completion/delpart
bash-completion/fdisk
bash-completion/fsck
bash-completion/fsck.minix
bash-completion/lsblk
bash-completion/mkfs
bash-completion/mkfs.bfs
bash-completion/mkfs.minix
bash-completion/partx
bash-completion/resizepart
bash-completion/sfdisk
bash-completion/wipefs

index 2b1e6bb5ef6f064df2cfd3ec3eac2136f13cedfa..e9ed793e221008cda817a2748007691338c094bc 100644 (file)
@@ -5,9 +5,7 @@ _addpart_module()
        cur="${COMP_WORDS[COMP_CWORD]}"
        case $COMP_CWORD in
                1)
-                       local DEVS=''
-                       while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
-                       OPTS="--help --version $DEVS"
+                       OPTS="--help --version $(lsblk -pnro name)"
                        COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
                        ;;
                2)
index 310cdfb1f351a5bb733b676b79ec5f7e1b722d5a..aa2f6f6453078594a21f25b8a4795782ad1064d8 100644 (file)
@@ -20,9 +20,7 @@ _blkdiscard_module()
                        return 0
                        ;;
        esac
-       local DEVS
-       DEVS=''; while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
-       COMPREPLY=( $(compgen -W "$DEVS" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _blkdiscard_module blkdiscard
index 9f97dd94ece65e0cee16516bb4eafbd725f394b7..26e414a5e0c03ae15736d5b69988f33298ab7273 100644 (file)
@@ -58,11 +58,7 @@ _blkid_module()
                        return 0
                        ;;
        esac
-       local DEV TYPE DEVICES=''
-       while read DEV TYPE; do
-               [ $TYPE = 'part' ] && DEVICES+="$DEV "
-       done < <(lsblk -pnro name,type)
-       COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _blkid_module blkid
index ce986cb45fc0f50eca053c3258417237eaabb6c4..8050c0f83965d322c586f65d93b5e1bf53b80467 100644 (file)
@@ -4,7 +4,7 @@ _blockdev_module()
        COMPREPLY=()
        cur="${COMP_WORDS[COMP_CWORD]}"
        prev="${COMP_WORDS[COMP_CWORD-1]}"
-       while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
+       DEVS="$(lsblk -pnro name)"
        OPTS="-h -V -q
                --report
                --getsz
index 025b0440b2f399e039b043e495114ec54684cae0..8921fa344b19a05aa0d27d1c8d770b16ba6123b9 100644 (file)
@@ -23,11 +23,7 @@ _cfdisk_module()
                        return 0
                        ;;
        esac
-       local DEV TYPE DEVICES=''
-       while read DEV TYPE; do
-               [ $TYPE = 'disk' ] && DEVICES+="$DEV "
-       done < <(lsblk -pnro "name,type")
-       COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _cfdisk_module cfdisk
index a4b20c80f130fd4e6c84381bef902993e2e2dfb6..d5a92ef288eb6d55270b8ccee54e4a8dee8d566e 100644 (file)
@@ -11,11 +11,7 @@ _delpart_module()
        esac
        case $COMP_CWORD in
                1)
-                       local DEV TYPE DEVICES=''
-                       while read DEV TYPE; do
-                               [ $TYPE = 'disk' ] && DEVICES+="$DEV "
-                       done < <(lsblk -pnro name,type)
-                       OPTS="--help --version $DEVICES"
+                       OPTS="--help --version $(lsblk -pnro name)"
                        COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
                        ;;
                2)
index 28cdda62260aa5d58319db2750cc8700e086e1cf..72a2b42362fa32be56849b3a7a8aca77394d31ee 100644 (file)
@@ -6,11 +6,7 @@ _fdisk_module()
        prev="${COMP_WORDS[COMP_CWORD-1]}"
        case $prev in
                '-s'|'--getsz')
-                       local DEV TYPE DEVICES=''
-                       while read DEV TYPE; do
-                               [ $TYPE = 'part' ] && DEVICES+="$DEV "
-                       done < <(lsblk -pnro name,type)
-                       COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) )
+                       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
                        return 0
                        ;;
                '-b'|'--sector-size')
@@ -55,11 +51,7 @@ _fdisk_module()
                        return 0
                        ;;
        esac
-       local DEV TYPE DEVICES=''
-       while read DEV TYPE; do
-               [ $TYPE = 'disk' ] && DEVICES+="$DEV "
-       done < <(lsblk -pnro name,type)
-       COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _fdisk_module fdisk
index 04899a0d197c3c5d45f8ee07b4ea30f0ace3c5fd..d61b37f42b4c61ade81659a95c65d188c1b97f0d 100644 (file)
@@ -32,8 +32,7 @@ _fsck_module()
                        return 0
                        ;;
        esac
-       while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
-       COMPREPLY=( $(compgen -W "$DEVS" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _fsck_module fsck
index 1ec9a7823d0db7f7e4bc14192b528987964be56a..4ed511011ca9af05824e2033ddd0c0d7ce8e6876 100644 (file)
@@ -9,9 +9,8 @@ _fsck.minix_module()
                        return 0
                        ;;
        esac
-       while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
        OPTS="-l -a -r -v -s -m -f --version"
-       COMPREPLY=( $(compgen -W "${OPTS[*]} $DEVS" -- $cur) )
+       COMPREPLY=( $(compgen -W "${OPTS[*]} $(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _fsck.minix_module fsck.minix
index c270255aa5b1df4850480c6ac87a5e64bb4db2d0..b5dcb400cc02cd42e00552e2134fa436caa42e33 100644 (file)
@@ -70,8 +70,7 @@ _lsblk_module()
                        ;;
        esac
        local DEVS
-       DEVS=''; while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
-       COMPREPLY=( $(compgen -W "$DEVS" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _lsblk_module lsblk
index 4e6e17568b710f56268ab921e9864530e0887afb..4edc6f0ddcad15c728d3eac28bad9ccb666f8837 100644 (file)
@@ -21,8 +21,7 @@ _mkfs_module()
                        return 0
                        ;;
        esac
-       while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
-       COMPREPLY=( $(compgen -W "$DEVS /path/to/file" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name) /path/to/file" -- $cur) )
        return 0
 }
 complete -F _mkfs_module mkfs
index 4f2923d4fad84fa9a2465d3339a5dae2a1ef0ea1..1bd67a0681f045492e8eb32d2cbcc462409a2e3f 100644 (file)
@@ -24,8 +24,7 @@ _mkfs.bfs_module()
                        return 0
                        ;;
        esac
-       while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
-       COMPREPLY=( $(compgen -W "$DEVS /path/to/file" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name) /path/to/file" -- $cur) )
        return 0
 }
 complete -F _mkfs.bfs_module mkfs.bfs
index 78c986f9de4c7ac563b770433ef11bca5d3bda68..c84a23761c15bf9ff85d399e385da6d7e37bc6f8 100644 (file)
@@ -29,8 +29,7 @@ _mkfs.minix_module()
                        ;;
        esac
        local DEVS
-       while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
-       COMPREPLY=( $(compgen -W "$DEVS" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _mkfs.minix_module mkfs.minix
index 7b08fa8046c03b8683f7b240789046171e36af50..5d662fc9ce300aca2dff976ea75bd538d71f079a 100644 (file)
@@ -31,11 +31,7 @@ _partx_module()
                        return 0
                        ;;
        esac
-       local DEV TYPE DEVICES=''
-       while read DEV TYPE; do
-               [ $TYPE = 'disk' ] && DEVICES+="$DEV "
-       done < <(lsblk -pnro name,type)
-       COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _partx_module partx
index c78af15c501e6f0aa0ad8a5ea23ccadf2603207e..7e385036613b0b8713f4316ba081d6e51612a781 100644 (file)
@@ -11,11 +11,7 @@ _resizepart_module()
        esac
        case $COMP_CWORD in
                1)
-                       local DEV TYPE DEVICES=''
-                       while read DEV TYPE; do
-                               [ $TYPE = 'disk' ] && DEVICES+="$DEV "
-                       done < <(lsblk -pnro name,type)
-                       OPTS="--help --version $DEVICES"
+                       OPTS="--help --version $(lsblk -pnro name)"
                        COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
                        ;;
                2)
index 609104ca31c9c764b300f9980885f962c179bbb5..16ada3f19039c27cf791cf4453a48f208ab8f11f 100644 (file)
@@ -73,11 +73,7 @@ _sfdisk_module()
                        return 0
                        ;;
        esac
-       local DEV TYPE DEVICES=''
-       while read DEV TYPE; do
-               [ $TYPE = 'disk' ] && DEVICES+="$DEV "
-       done < <(lsblk -pnro name,type)
-       COMPREPLY=( $(compgen -W "$DEVICES" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _sfdisk_module sfdisk
index e0e32867e4a9d8a14cde7f07b9db7ca29f03add9..d735b5ac7fadc0c43bb594bf27f7ebd4e8bd7ab5 100644 (file)
@@ -26,9 +26,7 @@ _wipefs_module()
                        return 0
                        ;;
        esac
-       local DEVS
-       DEVS=''; while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
-       COMPREPLY=( $(compgen -W "$DEVS" -- $cur) )
+       COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
        return 0
 }
 complete -F _wipefs_module wipefs