Ich schreibe ein Bash-Skript, das Funktionen aufruft, die in der Parent-Shell deklariert sind, aber es funktioniert nicht.Bash - Wie eine Funktion aufgerufen wird, die in einer übergeordneten Shell deklariert ist?
Zum Beispiel:
$ 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
Wie Sie das Skript sehen können ./test.sh
ist nicht in der Lage, die Funktion myfunc
zu nennen, ist es eine Möglichkeit, diese Funktion sichtbar, um das Skript zu machen?
Nun, das ich habe * nicht * wissen. –
@Andrew: Richtig! Es gibt einige Antworten, die einfach nicht verbessert werden können. –
Diese Dinge sollten besser dokumentiert werden – erjoalgo