[VYŘEŠENO] Jak použít funkci ve vnořeném shell scriptu?

Dobrý den / ahoj,
upravuji složitý systém scriptů volající se navzájem... a nadefinoval jsem si funci kterou bych chtěl použít kdekoli (v jakémkoli z těchto scriptů). Funkce je ve vstupním scriptu ze kterého se pouští vše ostatní.

U proměnné stačí jí exportovat (#export VAR=123). Ale u funkce nevím jak na to. Netušíte někdo? Předem díky.
W
« Poslední změna: 30. 04. 2010, 07:19:43 od Jan Vodolan »


Sleep_Walker

Re: Jak použít funkci ve vnořeném shell scriptu?
« Odpověď #1 kdy: 29. 04. 2010, 19:16:21 »
urcite lze nasourcovat soubor s funkci v kazdem souboru, ale tomu se asi chcete vyhnout, takze bych si to nasourcoval v shell skriptu, ktery spousti vsechny skripty a to by melo/mohlo stacit

Tom22

Re: Jak použít funkci ve vnořeném shell scriptu?
« Odpověď #2 kdy: 29. 04. 2010, 19:28:12 »
V bashi to jde:
Kód: [Vybrat]
function f1() {
  echo $1
}
export -f f1

A nebo dát definice funkcí do souboru a vložit ho všude:
Kód: [Vybrat]
. functions.sh

Sleep_Walker

Re: Jak použít funkci ve vnořeném shell scriptu?
« Odpověď #3 kdy: 29. 04. 2010, 21:30:27 »
hezke, export -f jsem neznal

Re: Jak použít funkci ve vnořeném shell scriptu?
« Odpověď #4 kdy: 30. 04. 2010, 07:19:17 »
export -f
Díky přesně tohle jsem potřeboval ((-:
Trošku mě mrzí že o tom není zmínka v manuálových stránkách ani v TLDP (a nebo jsem jen špatně hledal).

Díky moc a přeji krásný den ((-:
  W


Tom22

Re: Jak použít funkci ve vnořeném shell scriptu?
« Odpověď #5 kdy: 01. 05. 2010, 10:51:27 »
...
Trošku mě mrzí že o tom není zmínka v manuálových stránkách ani v TLDP (a nebo jsem jen špatně hledal).
...

V manuálu bashe to je - u mě v en verzi v sekci FUNCTIONS v posledním odstavci (doufám, že se manuál v distribucích neliší).
Abych pravdu řekl: neznal jsem to taky - i řešení cizího problému se někdy vyplatí  :)