[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Dateinamen mit Leerzeichen in Shripten



Hi Adalbert,

Adalbert Dawid <dawid@rinux.net> wrote:
>Preisfrage: was stimmt nicht am folgenden Konstrukt?

Ist das für einen Assessment-Test/Hausarbeit oder so?

>#!/bin/bash
>find /bin | while read FILE; do
>	echo "Datei ${FILE} existiert."
>	read -p "Löschen? (y/n)" -n 1 REPLY

	read -p "Löschen? (y/n)" -n 1 REPLY < /dev/tty

>	if [ ${REPLY} = "y" ]; then rm -f ${FILE}; fi
>done

>Das Skript ist zwar sinnlos, aber es soll nur mein Problem
>verdeutlichen: Das read innerhalb der Schleife "funktioniert nicht".
>Hat jemand eine Erklärung? 

Ziemlich einfach. Die Ausgabe von "find /bin" (wolltest Du hier
jemanden ärgern der das evtl. als root einfach mal so startet? ;-) )
wird als stdin für die while Schleife verwendet. Innerhalb dieser
Schleife liest read aber auch von stdin. Es würde also einen Teil der
Ausgabe von find als Eingabe interpretieren.

Gruß
Frank
-- 



Reply to: