systemd-bash-completion.sh revision 5430f7f2bc7330f3088b894166bf3524a067e3d8
# This file is part of systemd.
#
# Copyright 2010 Ran Benita
#
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# systemd is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
}
local word=$1; shift
return 1
}
local props
for ((i=0; $i < ${#units[*]}; i++)); do
echo "${units[i]}"
fi
done
}
| { while read a b; do echo "$a"; done; }; }
| { while read a b; do echo "$a"; done; }; }
| { while read a b c d; do [[ $c == "inactive" ]] && echo "$a"; done; }; }
| { while read a b c d; do [[ $c == "failed" ]] && echo "$a"; done; }; }
| { while read a b c ; do [[ $b == "enabled" ]] && echo "$a"; done; }; }
| { while read a b c ; do [[ $b == "disabled" ]] && echo "$a"; done; }; }
| { while read a b c ; do [[ $b == "masked" ]] && echo "$a"; done; }; }
local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
local -A OPTS=(
[STANDALONE]='--all -a --defaults --fail --ignore-dependencies --failed --force -f --full --global
--help -h --no-ask-password --no-block --no-legend --no-pager --no-reload --no-wall
--order --require --quiet -q --privileged -P --system --user --version --runtime'
[ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --root'
)
--signal|-s)
;;
--type|-t)
comps='automount device mount path service snapshot socket swap target timer'
;;
--kill-who)
comps='all control main'
;;
--kill-mode)
comps='control-group process'
;;
--root)
;;
--host|-H)
;;
--property|-p)
comps=''
;;
esac
return 0
fi
return 0
fi
local -A VERBS=(
[ALL_UNITS]='is-active is-enabled status show mask preset'
[ENABLED_UNITS]='disable reenable'
[DISABLED_UNITS]='enable'
[FAILED_UNITS]='reset-failed'
[STARTABLE_UNITS]='start'
[STOPPABLE_UNITS]='stop condstop kill try-restart condrestart'
[ISOLATABLE_UNITS]='isolate'
[RELOADABLE_UNITS]='reload condreload reload-or-try-restart force-reload'
[RESTARTABLE_UNITS]='restart reload-or-restart'
[MASKED_UNITS]='unmask'
[JOBS]='cancel'
[SNAPSHOTS]='delete'
[ENVS]='set-environment unset-environment'
[STANDALONE]='daemon-reexec daemon-reload default dot dump
emergency exit halt kexec list-jobs list-units
list-unit-files poweroff reboot rescue show-environment'
[NAME]='snapshot load'
[FILE]='link'
)
verb=${COMP_WORDS[i]}
break
fi
done
if [[ -z $verb ]]; then
comps="${VERBS[*]}"
comps=$( __get_all_units )
comps=$( __get_enabled_units )
$( __get_inactive_units \
| while read line; do \
done ))
$( __get_all_units \
| while read line; do \
done ))
comps=$( __get_failed_units )
comps=$( __get_masked_units )
comps=''
| { while read a b; do echo "$a"; done; } )
comps=$( __systemctl show-environment \
fi
return 0
}
__get_all_sessions () { systemd-loginctl list-sessions | { while read a b; do echo "$a"; done; } ; }
local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
local -A OPTS=(
[STANDALONE]='--all -a --help -h --no-pager --privileged -P --version'
[ARG]='--host -H --kill-who --property -p --signal -s'
)
--signal|-s)
;;
--kill-who)
comps='all leader'
;;
--host|-H)
;;
--property|-p)
comps=''
;;
esac
return 0
fi
return 0
fi
local -A VERBS=(
[SESSIONS]='session-status show-session activate lock-session unlock-session terminate-session kill-session'
[USERS]='user-status show-user enable-linger disable-linger terminate-user kill-user'
[SEATS]='seat-status show-seat terminate-seat'
[STANDALONE]='list-sessions list-users list-seats flush-devices'
[ATTACH]='attach'
)
verb=${COMP_WORDS[i]}
break
fi
done
if [[ -z $verb ]]; then
comps="${VERBS[*]}"
comps=$( __get_all_sessions )
comps=$( __get_all_users )
comps=$( __get_all_seats )
comps=''
comps=$( __get_all_seats )
else
fi
fi
return 0
}