about summary refs log tree commit diff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_sysctl14
1 files changed, 7 insertions, 7 deletions
diff --git a/Completion/Unix/Command/_sysctl b/Completion/Unix/Command/_sysctl
index ff3312fac..9d9e8b968 100644
--- a/Completion/Unix/Command/_sysctl
+++ b/Completion/Unix/Command/_sysctl
@@ -34,13 +34,13 @@ case $OSTYPE in
       '(-n -p -a -A)*:sysctl variable:_files -W /proc/sys'
   ;;
   openbsd*)
-    : ${(A)_cache_sysctlvars:=${${(f)"$(sysctl -a)"}%% *}}
-    _arguments -s -A "-*" \
-      '(-w -A *)-a[list all string and integer variables]' \
-      '(-w -a *)-A[list all known variables]' \
-      '(-w)-n[show only values]' \
-      '(-a -A -n)-w[write variable]' \
-      '(-a -A)*:sysctl variable:_multi_parts ${words[(r)-w]:+-S=} -i . _cache_sysctlvars'
+    : ${(A)_cache_sysctlvars:=${${${(f)"$(sysctl -a 2>/dev/null)"}%%=*}:# *}}
+    _arguments -S -s -A "-*" \
+      '(-A -q *)-a[list all string and integer variables]' \
+      '(-a -q *)-A[list all known variables]' \
+      '-n[show only values]' \
+      '(-a -A)-q[suppress all output when setting a variable]' \
+      '(-a -A)*:sysctl variable:_multi_parts -i -S = -q . _cache_sysctlvars'
   ;;
   *)
     _default