]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix: shellcheck for dracut-bash-completion.sh
authorHarald Hoyer <harald@redhat.com>
Fri, 12 Feb 2021 12:26:09 +0000 (13:26 +0100)
committerHarald Hoyer <harald@hoyer.xyz>
Mon, 15 Feb 2021 10:00:37 +0000 (11:00 +0100)
dracut-bash-completion.sh

index 913471017956b47d2561ee88b70de6715f5aa0f2..21dac0e11f9d54ae4b066bceec6b5857f3e12fdb 100644 (file)
@@ -1,4 +1,4 @@
-#
+#!/bin/bash
 # Copyright 2013 Red Hat, Inc.  All rights reserved.
 #
 # This program is free software; you can redistribute it and/or modify
 #
 
 __contains_word () {
-        local word=$1; shift
-        for w in $*; do [[ $w = $word ]] && return 0; done
+        local word="$1"; shift
+        for w in "$@"; do [[ $w = "$word" ]] && return 0; done
         return 1
 }
 
 _dracut() {
-        local field_vals= cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
+        local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
         local -A OPTS=(
                 [STANDALONE]='-f -v -q -l -H -h -M -N
                               --ro-mnt --force --kernel-only --no-kernel --strip --nostrip
@@ -42,6 +42,7 @@ _dracut() {
                               '
         )
 
+        # shellcheck disable=SC2086
         if __contains_word "$prev" ${OPTS[ARG]}; then
                 case $prev in
                         --kmoddir|-k|--fwdir|--confdir|--tmpdir)
@@ -56,20 +57,24 @@ _dracut() {
                                 comps=$(dracut --list-modules 2>/dev/null)
                         ;;
                         --persistent-policy)
-                                comps=$(cd /dev/disk/; echo *)
+                                comps=$(cd /dev/disk/ || return 0; printf -- "%s " *)
                         ;;
                         --kver)
-                                comps=$(cd /lib/modules; echo [0-9]*)
+                                comps=$(cd /lib/modules || return 0; echo [0-9]*)
                         ;;
                         *)
                                 return 0
                         ;;
                 esac
+                # shellcheck disable=SC2207
+                # shellcheck disable=SC2016
                 COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
                 return 0
         fi
 
         if [[ $cur = -* ]]; then
+                # shellcheck disable=SC2207
+                # shellcheck disable=SC2016
                 COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
                 return 0
         fi
@@ -80,7 +85,10 @@ _dracut() {
                 _filedir
                 return 0
         elif [[ $args -eq 2 ]]; then
-                comps=$(cd /lib/modules; echo [0-9]*)
+                # shellcheck disable=SC2034
+                comps=$(cd /lib/modules || return 0; echo [0-9]*)
+                # shellcheck disable=SC2207
+                # shellcheck disable=SC2016
                 COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
                 return 0
         fi