Add ynh_exec_as to official

This commit is contained in:
ericgaspar 2021-01-22 17:08:28 +01:00
parent f5ab4443ff
commit 6e9ab553b8
No known key found for this signature in database
GPG key ID: 574F281483054D44

View file

@ -100,6 +100,30 @@ ynh_print_err () {
ynh_print_log "[Error] ${message}" >&2
}
# Execute a command as another user
#
# usage: ynh_exec_as --user=USER --command=COMMAND [ARG ...]
# | arg: -u, --user= - the user that will execute the command
# | arg: -n, --command= - the command to be executed
#
# Requires YunoHost version 4.1.7 or higher.
ynh_exec_as()
{
# Declare an array to define the options of this helper.
local legacy_args=uc
local -A args_array=( [u]=user= [c]=command= )
local user
local command
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
if [[ $user = $(whoami) ]]; then
eval "$command"
else
sudo -u "$user" "$command"
fi
}
# Execute a command and print the result as an error
#
# usage: ynh_exec_err your_command