read liest nicht
Hans-Joachim Hoetger
Hans-Joachim.Hoetger at willi.gt.owl.de
Fri Oct 3 13:56:10 CEST 2003
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
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}·
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>&-
--
Hans-Joachim Hoetger
"Gut ist auch des Emporkommen von Linux als Herausforderer
von Microsoft." Angela Merkel (Die Zeit, 4.Mai 2000)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lug-owl.de/pipermail/linux/attachments/20031003/a451888e/attachment.sig>
More information about the Linux
mailing list