summaryrefslogtreecommitdiff
path: root/shell-completion/bash/systemd-nspawn
diff options
context:
space:
mode:
Diffstat (limited to 'shell-completion/bash/systemd-nspawn')
-rw-r--r--shell-completion/bash/systemd-nspawn37
1 files changed, 33 insertions, 4 deletions
diff --git a/shell-completion/bash/systemd-nspawn b/shell-completion/bash/systemd-nspawn
index 2ff39b65d7..3ba2cd6ec9 100644
--- a/shell-completion/bash/systemd-nspawn
+++ b/shell-completion/bash/systemd-nspawn
@@ -45,12 +45,19 @@ __get_env() {
}
__get_interfaces(){
- { cd /sys/class/net && echo *; } | \
- while read -d' ' -r name; do
+ local name
+ for name in $(cd /sys/class/net && ls); do
[[ "$name" != "lo" ]] && echo "$name"
done
}
+__get_rlimit() {
+ local i
+ for i in $(systemd-nspawn --rlimit=help 2>/dev/null); do
+ echo " ${i}="
+ done
+}
+
_systemd_nspawn() {
local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
local i verb comps
@@ -62,7 +69,8 @@ _systemd_nspawn() {
-S --slice -E --setenv -Z --selinux-context -L --selinux-apifs-context --register --network-interface --network-bridge
--personality -i --image --tmpfs --volatile --network-macvlan --kill-signal --template --notify-ready --root-hash
--chdir --pivot-root --property --private-users --network-namespace-path --network-ipvlan --network-veth-extra
- --network-zone -p --port --system-call-filter --overlay --overlay-ro --settings'
+ --network-zone -p --port --system-call-filter --overlay --overlay-ro --settings
+ --rlimit --hostname --no-new-privileges --oom-score-adjust --cpu-affinity --resolv-conf --timezone'
)
_init_completion || return
@@ -131,7 +139,7 @@ _systemd_nspawn() {
comps='x86 x86-64'
;;
--volatile)
- comps='yes state no'
+ comps=$( systemd-nspawn --volatile=help 2>/dev/null )
;;
--image|-i)
compopt -o nospace
@@ -153,6 +161,27 @@ _systemd_nspawn() {
--settings)
comps='yes no override trusted'
;;
+ --rlimit)
+ comps=$( __get_rlimit )
+ ;;
+ --hostname)
+ comps=''
+ ;;
+ --no-new-privileges)
+ comps='yes no'
+ ;;
+ --oom-score-adjust)
+ comps=''
+ ;;
+ --cpu-affinity)
+ comps=''
+ ;;
+ --resolv-conf)
+ comps=$( systemd-nspawn --resolv-conf=help 2>/dev/null )
+ ;;
+ --timezone)
+ comps=$( systemd-nspawn --timezone=help 2>/dev/null )
+ ;;
esac
COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
return 0