juju-exec
¶
Summary¶
Run commands in a unit’s hook context.
Usage¶
juju-exec [options] [-u] [<unit-name>] <commands>
Options¶
--force-remote-unit (= false)
run the commands for a specific relation context, bypassing the remote unit check
--no-context (= false)
do not run the command in a unit context
--operator (= false)
run the commands on the operator instead of the workload. Only supported on k8s workload charms
-r, --relation (= "")
run the commands for a specific relation context on a unit
--remote-app (= "")
run the commands for a specific remote application in a relation context on a unit
--remote-unit (= "")
run the commands for a specific remote unit in a relation context on a unit
-u (= "-")
explicit unit-name, all other arguments are commands. if -u is passed an empty string, unit-name is inferred from state
Details:
Run the specified commands in the hook context for the unit.
unit-name can be either the unit tag:
i.e. unit-ubuntu-0
or the unit id:
i.e. ubuntu/0
unit-name can be specified by the -u argument.
If -u is passed, unit-name cannot be passed as a positional argument.
If --no-context is specified, the <unit-name> positional
argument or -u argument is not needed.
If the there's one and only one unit on this host, <unit-name>
is automatically inferred and the positional argument is not needed.
If -u is passed an empty string, this behaviour is also observed.
## Examples
juju-exec app/0 hostname -f
juju-exec --no-context -- hostname -f
juju-exec "hostname -f"
juju-exec -u "" -- hostname -f
juju-exec -u app/0 "hostname -f"
juju-exec -u app/0 -- hostname -f
The commands are executed with '/bin/bash -s', and the output returned.