Not Now, John!, to nije rešenje problema, već workaround.
Imena fajlova sa spejsovima su potpuni seks u shell skriptingu. Ovo sa for petljom je još jednostavno (eto, recimo možeš da je zameniš while read petljom).
xargs srećom ima mogućnost da se definiše neki drugi separator, pa ova mogućnost ponekad može biti korisna, kao što ovaj lik pokazuje ovde:
http://hacks.oreilly.com/pub/h/7
Pre neko veče sam baš
pisao jedan shell skriptić, i naišao na sledeću muku sa spejsovima.
Recimo da sam imao nešto ovako
SUBTITLE="/Neka Putanja/Neki Film/Neki Film Titl.sub"
Apsolutno ne znam kako da vrednost ove promenljive strpam u drugu promenljivu, a da spejsovi ostanu escape-ovani? Ako pokušam sa
COMMANDLINE="${COMMANDLINE} -sub ${SUBTITLE}"
to, naravno, neće ići, spejsovi u $SUBTITLE stringu će dalje biti tretirani kao i svi drugi spejsovi u COMMANDLINE stringu. Nisam uspeo da rešim ovaj problem, već sam morao da promenim kod, uvodeći if strukturu. Opet workaround, i to ružan. Hoću da mi neko pokaže pravo, robusno rešenje za ovaj problem koje uvek pouzdano radi!
int rand(void);
Those who do not understand Unix are condemned to reinvent it, poorly.
Upali lampicu — koristi Jabber!