summaryrefslogtreecommitdiff
path: root/Completion/BSD/Command/_jexec
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/BSD/Command/_jexec')
-rw-r--r--Completion/BSD/Command/_jexec19
1 files changed, 19 insertions, 0 deletions
diff --git a/Completion/BSD/Command/_jexec b/Completion/BSD/Command/_jexec
new file mode 100644
index 000000000..f065ea1e0
--- /dev/null
+++ b/Completion/BSD/Command/_jexec
@@ -0,0 +1,19 @@
+#compdef jexec
+
+_jexec_normal() {
+ local PATH=$PATH
+ # relative paths are relative to the jail's root
+ path=( "$(command jls -j $words[1] path)"/$^path )
+ shift 1 words; (( CURRENT-- ))
+ _normal
+}
+
+_jexec() {
+ _arguments -s -w -A "-*" : \
+ '(-U)-u[host environment user whom command runs as]:host user:_users' \
+ '(-u)-U[jail environment user whom command runs as]:jail user:_users' \
+ '1:jail:_jails' \
+ '*:: : _jexec_normal'
+}
+
+_jexec "$@"