¿Hay alguna manera de que pueda pasar una función de un usuario a otro?
Por ejemplo, tengo un pequeño script Bash que ejecuto como Root:
#!/bin/bash
user_func(){
whoami
exit
}
su vagrant -c 'user_func'
Sin embargo, la función user_func no está definida para el usuario Vagrant, solo para Root, y no se puede ejecutar.
Mi otra opción sería tener múltiples líneas de
su vagrant -c 'cmd1'
su vagrant -c 'cmd2'
, etc
O bien, ejecute varios comandos, por ejemplo: su vagrant -c 'cmd1; cmd2; cmd3;'pero preferiría no tener el exceso, especialmente cuando intente ejecutar más de 5 comandos como usuario de Vagrant.
¿Es posible pasar una Función a otro usuario desde el mismo script (por ejemplo, no crear un script en el disco como un usuario diferente y luego ejecutar ese script generado)? ¿O hay otra opción que estoy pasando por alto?