Esiste un modo per passare una funzione da un utente a un altro utente?
Ad esempio, ho un piccolo script Bash che eseguo come root:
#!/bin/bash
user_func(){
whoami
exit
}
su vagrant -c 'user_func'
Tuttavia, la funzione user_func non è definita per l'utente Vagrant, solo per Root e non può essere eseguita.
L'altra mia opzione sarebbe quella di avere più righe di
su vagrant -c 'cmd1'
su vagrant -c 'cmd2'
, etc
Oppure, esegui più comandi ex:, su vagrant -c 'cmd1; cmd2; cmd3;'ma preferirei non avere l'eccesso, specialmente quando tento di eseguire più di 5 comandi come utente Vagrant.
È possibile passare una Funzione a un altro utente dallo stesso script (es. Non creare uno script sul disco come un altro utente e quindi eseguire quello script generato)? O c'è un'altra opzione che sto trascurando?