Am Donnerstag, den 03.02.2005, 20:55 +0100 schrieb Christian Knoke: > On Thu, Feb 03, 2005 at 08:28:00PM +0100, Markus Schulz wrote: > > Am Donnerstag, 3. Februar 2005 20:23 schrieb Christian Knoke: > > > On Thu, Feb 03, 2005 at 07:19:18PM +0100, Thorsten Buss wrote: > > > > Wenn ich zb diesen hier mache, und Dateien mit Blanks in dem > > > > aktuellen Verz dann geht das nicht... > > > > > > > > for i in `find`; do cp $i /tmp; done > > > > > > *So* geht das grundsätzlich nicht in bash. Der in-Parameter wird > > > *immer* an Spaces aufgetrennt, und das kannst Du auch nicht > > > abschalten. > > > > mittels Setzen der IFS Variable sollte sich das aber auf jeden anderen > > Trenner ändern lassen iirc. > > Jo, siehe word splitting in man bash. > > [EMAIL PROTECTED]:~$ a="1 2 3 4\ 5" > [EMAIL PROTECTED]:~$ for i in $a ; do echo $i; done > 1 > 2 > 3 > 4\ > 5 > [EMAIL PROTECTED]:~$ export IFS="" > [EMAIL PROTECTED]:~$ for i in $a ; do echo $i; done > 1 2 3 4\ 5 > [EMAIL PROTECTED]:~$ > > Das wird aber nicht im Sinne des OP sein :)
Richtig, deshalb: ------------schnipsel------------------- IFS_OLD="$IFS" IFS=" " # Die zweite Gaensefüschen müssen alleine in der Zeile stehen!!!!!!!!!!!! # IFS ist jetzt vorruebergehend ein Zeilenumbruchzeichen!!!!!!!" for i in `find`; do cp $i /tmp; done # oderwasauchimmer # Hier wird IFS wieder auf den orginal Wert zurueck gesetzt! IFS="$IFS_OLD" ------------schnapsel------------------- Dann funktioniert das und es klappt auch mit dem OP;-) -- mfg Peter Küchler To be is to do Socrates To do is to be Satre Do be do be do Sinatra