Mellanslag i vaiabler...
Johan Kuuse
kuuse at redantigua.com
Wed Jun 20 12:39:02 CEST 2007
Konstigt.
Jag försöker rekonstruera ditt fel, men lyckas inte:
$ mkdir -p 'test1/profile/Application Data'
$ touch test1/profile/Application\ Data/prefs.js
bus.sh (notera att jag bytt ut /home mot .)
-------------------------------------------
#!/bin/sh
file_list=`find . -type f -name prefs.js`
echo $file_list
-------------------------------------------
$ chmod 755 bus.sh
$ ./bus.sh
./test1/profile/Application Data/prefs.js
Men jag tycker också att Rasmus' lösning med xargs låter vettigare.
MVH,
Johan Kuuse
>>>>>> "AT" == Anders Troback <freebsd at troback.com> writes:
>
> AT> Mitt problem är att filen ligger i mappar som har "mellanslag" i
> AT> sökvägen vilket inte blir så bra i mitt script!
>
> AT> Jag försöker med:
>
> AT> file_list=`find /home -type f -name prefs.js`
> AT> echo $file_list
>
> Det skulle nog räcka med att sätta vanliga dubbelfnutta utanför
> bakåtfnuttarna. Men då har du alla machande filnamn separerade med
> mellanslag i den variabeln, och hur vet du då hur stor bit av
> variabeln som är ett filnamn?
>
> Måste du ha filnamnen i en variabel? Jag skulle göra:
>
> find /home -type f -name prefs.js -print0 | xargs -0 dostuff
>
> ... där dostuff är ett kommando som tar (ett antal) filnamn som
> parametrar. Då blir det rätt.
>
> --
> Rasmus Kaj <rasmus at kaj.se> -- http://www.stacken.kth.se/~kaj/
> Yes, bugger all that. Let's curse somebody. -Nanny Ogg (Terry Pratchett)
> _________________________________________________
> BSD Users Sweden -- BUS at stacken.kth.se
> https://lists.stacken.kth.se/mailman/listinfo/bus
>
More information about the BUS
mailing list