PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kleines Script grosses Problem :-)



flo19
01.02.05, 16:34
Hallo,

ich würde gerne wissen wieso folgendes nicht geht:


while read PAKET
do
echo -n $PAKET:
read ANTWORT
done<gluschgorowyss

Habe es jetzt hallt so gelöst würde aber denoch gerne wissen wo das Problem gelegen hatte....:





LINE=1
FILECOUNT=`grep -c "" $DIRCHECKFILE


while true
do
[ $LINE -gt $FILECOUNT ] && break
PAKET=`grep -n "" $DIRCHECKFILE | grep "^$LINE:" | sed -e "s/^$LINE://"
echo -n "$PAKET installieren:"

read ANTWORT

(( LINE++ ))

done





Aber würde mich doch intressieren wo da das Problem liegt.... versteh das nicht!

grüssli, Flo

jeppo
01.02.05, 20:03
wiso obiges beispiel funzt doch
läuft als endlosschleife und liest PAKET und ANTWORT bei jedem schleifendurchlauf

flo19
02.02.05, 11:35
wiso obiges beispiel funzt doch
läuft als endlosschleife und liest PAKET und ANTWORT bei jedem schleifendurchlauf

Ja ich dachte genau das selbe, aber in meiner bash, liest nicht antwort und ratert einfach die while schleife durch mit und gibt PAKET aus, bug von read?

gruss Flo

jeppo
02.02.05, 20:59
also ich hab dein script eingegeben und es hat zwei eingaben erwartet
und das ganze inner endloschleife

flo19
03.02.05, 10:02
also ich hab dein script eingegeben und es hat zwei eingaben erwartet
und das ganze inner endloschleife

Bash Shell und read welche version? Bei mir klappt das ned. Habe mit einem alten kollegen gesprochen der voll Chef in Unix ist und der meinte das liege an den pointer in read read liest nur von der STDIO.


gruss Flo

fuffy
03.02.05, 11:01
Hi!


read liest nur von der STDIO.
Dafür gibt es ja die Pipes. Mag zwar ein Fall für den "useless use of cat award" sein, aber mit
cat $datei | while read line hatte ich bisher noch nie Probleme (Bash 2.05b, 3.0; Zsh 4.20).

Gruß
fuffy