From: Sami Kerola Date: Sun, 26 Oct 2014 22:07:08 +0000 (+0000) Subject: bash-completion: stop being clever when listing block devices X-Git-Tag: v2.26-rc1~268 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=53154dae39cd16924c97754589ed5396a91946bd;p=thirdparty%2Futil-linux.git bash-completion: stop being clever when listing block devices 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 --- diff --git a/bash-completion/addpart b/bash-completion/addpart index 2b1e6bb5ef..e9ed793e22 100644 --- a/bash-completion/addpart +++ b/bash-completion/addpart @@ -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) diff --git a/bash-completion/blkdiscard b/bash-completion/blkdiscard index 310cdfb1f3..aa2f6f6453 100644 --- a/bash-completion/blkdiscard +++ b/bash-completion/blkdiscard @@ -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 diff --git a/bash-completion/blkid b/bash-completion/blkid index 9f97dd94ec..26e414a5e0 100644 --- a/bash-completion/blkid +++ b/bash-completion/blkid @@ -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 diff --git a/bash-completion/blockdev b/bash-completion/blockdev index ce986cb45f..8050c0f839 100644 --- a/bash-completion/blockdev +++ b/bash-completion/blockdev @@ -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 diff --git a/bash-completion/cfdisk b/bash-completion/cfdisk index 025b0440b2..8921fa344b 100644 --- a/bash-completion/cfdisk +++ b/bash-completion/cfdisk @@ -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 diff --git a/bash-completion/delpart b/bash-completion/delpart index a4b20c80f1..d5a92ef288 100644 --- a/bash-completion/delpart +++ b/bash-completion/delpart @@ -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) diff --git a/bash-completion/fdisk b/bash-completion/fdisk index 28cdda6226..72a2b42362 100644 --- a/bash-completion/fdisk +++ b/bash-completion/fdisk @@ -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 diff --git a/bash-completion/fsck b/bash-completion/fsck index 04899a0d19..d61b37f42b 100644 --- a/bash-completion/fsck +++ b/bash-completion/fsck @@ -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 diff --git a/bash-completion/fsck.minix b/bash-completion/fsck.minix index 1ec9a7823d..4ed511011c 100644 --- a/bash-completion/fsck.minix +++ b/bash-completion/fsck.minix @@ -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 diff --git a/bash-completion/lsblk b/bash-completion/lsblk index c270255aa5..b5dcb400cc 100644 --- a/bash-completion/lsblk +++ b/bash-completion/lsblk @@ -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 diff --git a/bash-completion/mkfs b/bash-completion/mkfs index 4e6e17568b..4edc6f0ddc 100644 --- a/bash-completion/mkfs +++ b/bash-completion/mkfs @@ -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 diff --git a/bash-completion/mkfs.bfs b/bash-completion/mkfs.bfs index 4f2923d4fa..1bd67a0681 100644 --- a/bash-completion/mkfs.bfs +++ b/bash-completion/mkfs.bfs @@ -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 diff --git a/bash-completion/mkfs.minix b/bash-completion/mkfs.minix index 78c986f9de..c84a23761c 100644 --- a/bash-completion/mkfs.minix +++ b/bash-completion/mkfs.minix @@ -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 diff --git a/bash-completion/partx b/bash-completion/partx index 7b08fa8046..5d662fc9ce 100644 --- a/bash-completion/partx +++ b/bash-completion/partx @@ -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 diff --git a/bash-completion/resizepart b/bash-completion/resizepart index c78af15c50..7e38503661 100644 --- a/bash-completion/resizepart +++ b/bash-completion/resizepart @@ -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) diff --git a/bash-completion/sfdisk b/bash-completion/sfdisk index 609104ca31..16ada3f190 100644 --- a/bash-completion/sfdisk +++ b/bash-completion/sfdisk @@ -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 diff --git a/bash-completion/wipefs b/bash-completion/wipefs index e0e32867e4..d735b5ac7f 100644 --- a/bash-completion/wipefs +++ b/bash-completion/wipefs @@ -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