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.
# 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!