read liest nicht
Kurt Gramlich
k3r at gmx.net
Fri Oct 3 19:15:30 CEST 2003
* Hans-Joachim Hoetger <Hans-Joachim.Hoetger at willi.gt.owl.de> [031003 13:56]:
> On Fri, Oct 03, 2003 at 01:13:04AM +0200, Kurt Gramlich wrote:
> >
> > wer sieht, warum read b nicht von STDIN liest?
> >
>
> Moin Kurt,
> siehst Du das wirklich nicht?
> Du hast die Datei an STDIN gebunden. Da kommst Du mit Deinen Y
> oder Ns nicht zwischen. Ich kann Dir einen Ansatz bieten. Der ist
> aber ungetestet - sowas mache ich nicht sehr oft.
>
> zuerst machst Du einen neuen FD offen:
> #exec 3<namenliste.txt
prima Idee
>
> Dann liest Du mit der while Schleife aus der Datei:
> #while read a <&3
>
> Dann machst Du superwichtige Sachen und fragst anschließend den
> user nach seiner Entscheidung (Lesen von STDOUT)
> #read ANSWER <&0
>
> Dann machst Du alles weitere, schließt die lesende Schleife.
> Zum Schluß machst Du den von Dir erzeugten FD wieder zu.
> #exec 3>&-
> Fertig. Ich berichtige mal eben Deinen Code in dieser Weise. Gib
> mal Feedback, ob das geklappt hat.
> Grüße
>
> #!/bin/sh
> exec 3<namenliste.txt
> while read AUSSAGEFAEHIGER_VARIABLENNAME <&3
> do
> vorname=$(echo $AUSSAGEFAEHIGER_VARIABLENNAME | cut -d " " -f 1)
> name=$(echo $AUSSAGEFAEHIGER_VARIABLENNAME | cut -d " " -f 2)
> echo "${vorname} ${name}"
> /home/kurt/bin/suchperson.sh ${vorname} ${name}·
die Ergebnisse dieser Datenbankabfrage sehe ich nicht
> echo 'neu? [Y|n]'·
> read ANTWORT <&0
> if [ "$ANTWORT" = "Y" ] ; then
> echo "Sie haben <ja> getippt"
> elif [ "$ANTWORT" = " " ] ; then
> echo "Sie haben nichts bestätigt"
> elif [ "$ANTWORT" = "n" ] ; then
> echo "Sie haben <nein> getippt"
> else
> echo "Der Dialog wurde abgebrochen"
> fi
> done
> exec 3>&-
deshalb laeuft dieses script leider nicht.
aber fuer
AUSSAGEFAEHIGER_VARIABLENNAME
tu ich Dir ein Bier aus ;-)
Viele Gruesse!
Kurt
--
LUG Ravensberg http://www.lugrav.de
alt! http://www.computerinfotag.de
neu! http://www.skolelinux.de
More information about the Linux
mailing list