Sie sind nicht angemeldet.

[gelöst] Parameterübergabe

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

21.04.2009, 15:15

Parameterübergabe

Hallo allerseits,

ich möchte die Ausgabe eines Sciptes als Eingabeparamter an ein anderes Scriptes übergeben.
Also z.B.:
Script1

Quellcode

1
2
#!/bin/bash
echo bla

und Skript2

Quellcode

1
2
#!/bin/bash
echo $1

Ich wollte das ganze dann ungefähr so aufrufen:

Quellcode

1
sh Skript1 | sh Skript2

aber das funktioniert nicht und jetzt steh ich aufm Schlauch und komm nich weiter.
Bitte nicht nach dem Sinn oder Unsinn fragen, ich möchte nur gern wissen ob, und wenn ja wie, es klappen könnte.

Danke im voraus
Tom

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tom0815« (22.04.2009, 13:34)


2

22.04.2009, 08:43

Quellcode

1
2
3
4
 cat super.sh
# !/bin/bash

super="ole"


Quellcode

1
2
3
4
5
6
cat ole.sh
#! /bin/bash

. /home/ich/temp/neu/super.sh

echo "$super"



Quellcode

1
2
$ sh ole.sh
ole



hier wird das erste skript im zweiten gesourced.
meinst du sowas?

oder sowas ?

Quellcode

1
2
3
4
5
6
7
$ cat ole.sh
#! /bin/bash

read THIS
echo $THIS

exit 0


Quellcode

1
2
$ echo 12 | sh ole.sh
12


wobei du "echo 12" natürlich in ein anderes skript schreiben und mit "sh anderesskript.sh | ole.sh " ausführen könntest
Intel core 2 duo E6600
XFX Geforce 7950 gt
4096 MB DDR2
Intel DP35DP

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »schade« (22.04.2009, 10:07)


3

22.04.2009, 11:56

Ich hätte das jetzt eher mit umgekehrten anführungszeichen verstanden...


Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
~/tmp $ cat test.sh 
#!/bin/bash

echo date
echo "date"
echo `date`


~/tmp $ ./test.sh 
date
date
Mi 22. Apr 11:51:37 CEST 2009



somit kannst du auch die ausgabe von test.sh an zb grep weitergeben, wobei das keinen Sinn macht :-)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
~/tmp $ grep date ./test.sh
echo date
echo "date"
echo `date`


~/tmp $ grep date `./test.sh`
grep: date: Datei oder Verzeichnis nicht gefunden
grep: date: Datei oder Verzeichnis nicht gefunden
grep: Mi: Datei oder Verzeichnis nicht gefunden
grep: 22.: Datei oder Verzeichnis nicht gefunden
grep: Apr: Datei oder Verzeichnis nicht gefunden
grep: 11:53:08: Datei oder Verzeichnis nicht gefunden
grep: CEST: Datei oder Verzeichnis nicht gefunden
grep: 2009: Datei oder Verzeichnis nicht gefunden

Quellcode

1
2
date ; unzip | port ; touch | head ; strip | top ; finger socket ; 
grep ; mount | tail ; gasp < yes & yes ; umount ; sleep

4

22.04.2009, 13:34

danke für die Antworten.

würmchen hatte den entscheidenden Tipp; Kommandosubstitution.

Mein Problem war, dass ich den Rückgabewert eines Skriptes als Parameter an ein anderes Skript übergeben haben möchte.

gelöst,
Tom