-#
+#!/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
'
)
+ # shellcheck disable=SC2086
if __contains_word "$prev" ${OPTS[ARG]}; then
case $prev in
--kmoddir|-k|--fwdir|--confdir|--tmpdir)
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
_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