🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#1107
Author: Holger Wirtz
Date: Mon, 01 Feb 1993 09:12
19 lines
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
#1108
Author: Martin P. Ibert
Date: Tue, 02 Feb 1993 02:37
18 lines
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
#1109
Author: Uwe Waldmann
Date: Tue, 02 Feb 1993 14:17
29 lines
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
#1110
Author: Holger Wirtz
Date: Wed, 03 Feb 1993 09:23
18 lines
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
#1111
Author: Frank Pusch
Date: Wed, 03 Feb 1993 17:41
27 lines
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
#1113
Author: Thomas Schuder
Date: Thu, 04 Feb 1993 10:00
48 lines
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