Thread View: de.comp.os.unix
6 messages
6 total messages
Started by Holger Wirtz
Mon, 01 Feb 1993 09:12
(dumme) Bourne Shell Frage
Author: Holger Wirtz
Date: Mon, 01 Feb 1993 09:12
Date: Mon, 01 Feb 1993 09:12
19 lines
1492 bytes
1492 bytes
Hallo Unix-Fans! Ich schreibe gerade einige Skripte fuer die Systemadministration auf meinem Rechner und benutze zur Ausfuehrung die Bourne Shell. Nun mein Problem: Ich habe mir eigene Funtionen geschrieben und moechte sie in einem File namens "functions" behalten aber von anderen Skripten aus aufrufen. Dazu hatte ich in mein Programm (namens "test") einfach das File "functions" aufgerufen, aber sobald ich eine der Funktionen angesprochen habe wurde mir gesagt, dass so ein Kommando nicht existiert. Wie kann ich also Funktionen aus einem Script in das andere exportieren? Vielen Dank schonmal fuer die Hilfe! Holger -- root@midips.in-berlin.de || Holger Wirtz root@ifaips%midips.in-berlin.de || 1000 Berlin 20
Re: (dumme) Bourne Shell Frage
Author: Martin P. Ibert
Date: Tue, 02 Feb 1993 02:37
Date: Tue, 02 Feb 1993 02:37
18 lines
1970 bytes
1970 bytes
root@midips.in-berlin.de (Holger Wirtz) writes: > Ich habe mir eigene Funtionen geschrieben und moechte sie in einem File namens > "functions" behalten aber von anderen Skripten aus aufrufen. Dazu hatte ich > in mein Programm (namens "test") einfach das File "functions" aufgerufen, aber > sobald ich eine der Funktionen angesprochen habe wurde mir gesagt, dass so > ein Kommando nicht existiert. 1) Nenne NIE ein Kommando "test". Es kollidiert zu leicht mit dem gleichnamigen Standardkommando/Shellbuiltin. 2) Hast Du daran gedacht, Dein functions-File mit ". functions" einzubinden? Wenn Du den Punkt weglaesst, werden die Funktionen nur innerhalb einer Subshell definiert, die aber sofort wieder terminiert. -- __| |__ Martin P. Ibert, Westendallee 100 d, D-1000 Berlin 19, +4930-3056541 __ __ +------------------------------------------------------------------+ | | | Jede Glorifizierung eines Menschen, der im Kriege get�tet worden | | | | ist, bedeutet drei Tote im n�chsten Krieg. (Kurt Tucholsky 1932) |
Re: (dumme) Bourne Shell Frage
Author: Uwe Waldmann
Date: Tue, 02 Feb 1993 14:17
Date: Tue, 02 Feb 1993 14:17
29 lines
2194 bytes
2194 bytes
In Artikel <1993Feb01.091213.11904@midips.in-berlin.de> schreibt
root@midips.in-berlin.de (Holger Wirtz):
> Ich habe mir eigene Funtionen geschrieben und moechte sie in einem File namens
> "functions" behalten aber von anderen Skripten aus aufrufen. Dazu hatte ich
> in mein Programm (namens "test") einfach das File "functions" aufgerufen, aber
> sobald ich eine der Funktionen angesprochen habe wurde mir gesagt, dass so
> ein Kommando nicht existiert.
>
> Wie kann ich also Funktionen aus einem Script in das andere exportieren?
Wenn ich Deine Frage richtig verstanden habe (da bin ich mir aber nicht
ganz sicher), heisst die Loesung
. functions
Der Punkt ist entscheidend, er bewirkt, dass "functions" nicht in einer
Subshell, sondern in der alten Shell ausgefuehrt ("gesourcet" :-) wird.
Variablenzuweisungen (und eine Funktionsdeklaration ist nichts wesentlich
anderes) in einer Subshell haben bekanntlich keinen Einfluss auf die
aufrufende Shell.
Apropos: "test" ist der denkbar schlechteste Name fuer ein Unix-Programm.
Ein Programm "test" gibt es naemlich schon, und sein Funktionieren ist
fuer diverse Shellskripten lebenswichtig.
--
Uwe Waldmann, Max-Planck-Institut fuer Informatik
Im Stadtwald, D-W6600 Saarbruecken 1, Deutschland
Tel.: +49 681 302-5431, Fax: +49 681 302-5401, E-Mail: uwe@mpi-sb.mpg.de
Re: (dumme) Bourne Shell Frage
Author: Holger Wirtz
Date: Wed, 03 Feb 1993 09:23
Date: Wed, 03 Feb 1993 09:23
18 lines
1500 bytes
1500 bytes
martini@heaven7.in-berlin.de (Martin P. Ibert) schreibt: [BourneShell-Problem] >1) Nenne NIE ein Kommando "test". Es kollidiert zu leicht mit dem gleichnamigen > Standardkommando/Shellbuiltin. War ja nur ein Beispiel... mein Kommando heisst natuerlich anders. >2) Hast Du daran gedacht, Dein functions-File mit ". functions" einzubinden? > Wenn Du den Punkt weglaesst, werden die Funktionen nur innerhalb einer > Subshell definiert, die aber sofort wieder terminiert. Ahja, genau dass wollte ich wissen, Thanx! bye, Holger -- root@midips.in-berlin.de || Holger Wirtz root@ifaips%midips.in-berlin.de || 1000 Berlin 20
Re: (dumme) Bourne Shell Frage
Author: Frank Pusch
Date: Wed, 03 Feb 1993 17:41
Date: Wed, 03 Feb 1993 17:41
27 lines
2305 bytes
2305 bytes
root@midips.in-berlin.de (Holger Wirtz) writes:
: Hallo Unix-Fans!
:
: Ich schreibe gerade einige Skripte fuer die Systemadministration auf meinem
: Rechner und benutze zur Ausfuehrung die Bourne Shell. Nun mein Problem:
: Ich habe mir eigene Funtionen geschrieben und moechte sie in einem File namens
: "functions" behalten aber von anderen Skripten aus aufrufen. Dazu hatte ich
: in mein Programm (namens "test") einfach das File "functions" aufgerufen, aber
: sobald ich eine der Funktionen angesprochen habe wurde mir gesagt, dass so
: ein Kommando nicht existiert.
:
: Wie kann ich also Funktionen aus einem Script in das andere exportieren?
ich hatte mal ein aehnliches problem, bis ich darauf kam, dass es am dateinamen
'test' liegt. 'test' wird noch an manch andeer stelle verwendet und darum
sollte man kein test-programm so nennen. benenne es mal um ... und vielleicht
klappts dann.
gruss, frank
--
/---------------------------------------------------------------------------\
| Frank Pusch / __o | UniWare Computer GmbH |
| Phone: +49 +30 310009-297 / _ \<,_ | Kantstr. 152 |
| Fax: +49 +30 310009-25 / (_)/ (_) | W-1000 Berlin 12 |
| E-Mail: fpu@uniware.de /__________ | GERMANY |
| UUCP: ..!{unido,tmpmbx,tub}!uwbln!fpu | | |
\---------------------------------------------------------------------------/
Re: (dumme) Bourne Shell Frage
Author: Thomas Schuder
Date: Thu, 04 Feb 1993 10:00
Date: Thu, 04 Feb 1993 10:00
48 lines
3018 bytes
3018 bytes
root@midips.in-berlin.de (Holger Wirtz) writes:
>Hallo Unix-Fans!
>Ich schreibe gerade einige Skripte fuer die Systemadministration auf meinem
>Rechner und benutze zur Ausfuehrung die Bourne Shell. Nun mein Problem:
>Ich habe mir eigene Funtionen geschrieben und moechte sie in einem File namens
>"functions" behalten aber von anderen Skripten aus aufrufen. Dazu hatte ich
>in mein Programm (namens "test") einfach das File "functions" aufgerufen, aber
>sobald ich eine der Funktionen angesprochen habe wurde mir gesagt, dass so
>ein Kommando nicht existiert.
>Wie kann ich also Funktionen aus einem Script in das andere exportieren?
Funktionen koennen nicht in darueber- oder darunterliegende Shells
exportiert werden.
>Vielen Dank schonmal fuer die Hilfe!
>Holger
Wenn man Funktionen oder Shellvariablen in einem Script sammeln will, muss
man das Script mit einem Punkt am Zeilenanfang aufrufen:
. Scriptmane
Dadurch wird fuer die Ausfuehrung dieses Scripts keine neue Shell erzeugt
und die im Script enthaltenen Funktionen un Shellvariablen sind in der
aktuellen Shell definiert/installiert.
tos
---- *********
** **
* O O *
____ * | *
/o o\ * ^ *
( __ )\/ __ * \___/ *
/\____/ / /\\ ( ( ** **
\___\__/___// \\__ (c) _________\ \ *********
T h o m a s S c h u d e r (_________/ \ *
Mail Addr. schuder@cpp.ob.open.de (_____/ )_______*_
Essener Strasse 57 (_____/ ) * \
D-4200 Oberhausen 1 (____/__/ * \
* *
* *
*** *** (c)
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads