Thread bash: Function in script von Shell aufrufen (3 answers)
Opened by wiesensurfer at 2011-10-17 14:10

Linuxer
 2011-10-17 14:16
#153268 #153268
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Du musst das Skript in der aktuellen Shell-Session ausführen. Das wird i.d.R. mit . skript.sh oder source skript.sh gemacht.

Damit wird das Skript mit der aktuell laufenden Shell ausgewertet. Normalerweise wird eine eigene Shell dafür gestartet, die am Ende des Skriptes auch wieder beendet wird.

Wenn das Skript irgendwelche Arbeiten erledigt, wäre ich damit vorsichtig.
Wenn das Skript nur Funktionen definiert, ginge das schon eher.

Ich habe mir Hilfsfunktionen in der $HOME/.bashrc definiert; die wird beim Login automatisch eingebunden.

Oder Du richtest Dir eine dedizierte Datei ein, die Hilfsfunktionen definiert.
Die kannst Du dann entweder in Deiner Sitzung einbinden oder aber auch in Skripten.

Code: (dl )
1
2
3
4
5
6
7
# definieren
echo -e "function hallo() {\n echo "Hallo Welt." \n}\n" >> $HOME/.helpers.sh

# einbinden
. $HOME/.helpers

# Bei Verwendung in Skripten eben analog wie auf der Shell "source $HOME/.helpers" ins Skript schreiben


PS: Parameter an die Funktionen werden mit $1 usw. übergeben (wie bei Skripten auch).

edits:
  • added PS
  • fixed typo
  • fixed typo, again

Last edited: 2011-10-17 22:07:40 +0200 (CEST)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread bash: Function in script von Shell aufrufen