source some_file
some_file:
doit ()
{
echo doit $1
}
export TEST=true
Wenn ich some_file schreibe, sind die Funktion "doit" und die Variable TEST in der Kommandozeile verfügbar. Aber dieses Skript ausführen:
script.sh:
#/bin/sh
echo $TEST
doit test2
Gibt den Wert von TEST zurück, generiert jedoch einen Fehler bezüglich der unbekannten Funktion "doit".
Kann ich die Funktion auch "exportieren" oder muss ich some_file in script.sh angeben, um die Funktion dort zu verwenden?
#!/bin/sh
empfiehlt sich jedoch, sie zu verwenden #!/bin/bash
, um Probleme zu vermeiden, wenn die Standard-Shell nicht bash ist.
#!/bin/sh
zu#!/bin/bash
und nachdoit() {...}
nurexport -f doit