Sto scrivendo uno script bash che chiama funzioni dichiarate nella shell genitore, ma non funziona.Bash - Come chiamare una funzione dichiarata in una shell genitore?
Ad esempio:
$ function myfunc() { echo "Here in myfunc" ; }
$ myfunc
Here in myfunc
$ cat test.sh
#! /bin/bash
echo "Here in the script"
myfunc
$ ./test.sh
Here in the script
./test.sh: line 4: myfunc: command not found
$ myfunc
Here in myfunc
Come si può vedere lo script ./test.sh
è in grado di chiamare la funzione myfunc
, c'è qualche modo per rendere tale funzione visibile allo script?
Ora, che ho fatto * non * sapere. –
@Andrew: giusto! Ci sono alcune risposte che non possono essere migliorate. –
Queste cose dovrebbero essere meglio documentate – erjoalgo