]>
git.ipfire.org Git - thirdparty/dracut.git/blob - dracut-bash-completion.sh
286fd1ceaeb8348690156035d0eda92845e1638d
2 # Copyright 2013 Red Hat, Inc. All rights reserved.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 for w
in "$@"; do [[ $w == "$word" ]] && return 0; done
26 local cur
=${COMP_WORDS[COMP_CWORD]} prev
=${COMP_WORDS[COMP_CWORD - 1]}
28 [STANDALONE
]='-f -v -q -l -H -h -M -N
29 --ro-mnt --force --kernel-only --no-kernel --strip --nostrip
30 --hardlink --nohardlink --noprefix --mdadmconf --nomdadmconf
31 --lvmconf --nolvmconf --debug --profile --verbose --quiet
32 --local --hostonly --no-hostonly --fstab --help --bzip2 --lzma
33 --xz --zstd --no-compress --gzip --list-modules --show-modules --keep
34 --printsize --regenerate-all --noimageifnotneeded --early-microcode
35 --no-early-microcode --print-cmdline --reproducible --uefi'
36 [ARG
]='-a -m -o -d -I -k -c -L --kver --add --force-add --add-drivers
37 --omit-drivers --modules --omit --drivers --filesystems --install
38 --fwdir --libdirs --fscks --add-fstab --mount --device --nofscks
39 --kmoddir --conf --confdir --tmpdir --stdlog --compress --prefix
40 --kernel-cmdline --sshkey --persistent-policy --install-optional
41 --loginstall --uefi-stub --kernel-image
45 # shellcheck disable=SC2086
46 if __contains_word
"$prev" ${OPTS[ARG]}; then
48 --kmoddir |
-k |
--fwdir |
--confdir |
--tmpdir)
49 comps
=$
(compgen
-d -- "$cur")
52 -c |
--conf |
--sshkey |
--add-fstab |
--add-device |
-I |
--install |
--install-optional)
53 comps
=$
(compgen
-f -- "$cur")
56 -a |
-m |
-o |
--add |
--modules |
--omit)
57 comps
=$
(dracut
--list-modules 2> /dev
/null
)
61 cd /dev
/disk
/ ||
return 0
67 cd /lib
/modules ||
return 0
75 # shellcheck disable=SC2207
76 # shellcheck disable=SC2016
77 COMPREPLY
=($
(compgen
-W '$comps' -- "$cur"))
81 if [[ $cur == -* ]]; then
82 # shellcheck disable=SC2207
83 # shellcheck disable=SC2016
84 COMPREPLY
=($
(compgen
-W '${OPTS[*]}' -- "$cur"))
90 if [[ $args -eq 1 ]]; then
93 elif [[ $args -eq 2 ]]; then
94 # shellcheck disable=SC2034
96 cd /lib
/modules ||
return 0
99 # shellcheck disable=SC2207
100 # shellcheck disable=SC2016
101 COMPREPLY
=($
(compgen
-W '$comps' -- "$cur"))
106 complete
-F _dracut dracut