Este é um trabalho para arquivos de script separados, não para funções.
script1.sh
:
#! /bin/bash
echo -e "$1"
script2.sh
:
#! /bin/bash
echo "This is script2"
bash script1.sh "I use script1"
echo "I also need to print ${foo}"
e script.sh
:
#! /bin/bash
foo=bar
export foo
sudo -Eu username bash script2.sh
Forçar o uso de funções aqui levará a uma solução insalubre e inoportuna. Não.