Nenà tomu tak dávno, co jsem se pokouÅ¡el napsat si svůj vlastnà jednoduchý konzolový pÅ™ehrávaÄ MP3 souborů. VýbÄ›r skladby mÄ›l obstarávat pÅ™Ãkaz select. Jaké ale bylo moje pÅ™ekvapenÃ, když jsem na výstupu obdržel výbÄ›r z nÄ›kolika desÃtek skladeb, aÄ v kýženém adresáři jich nebylo ani deset. PochopitelnÄ› – každou mezeru v názvu souboru chápal select jako oddÄ›lovaÄ. K Å™eÅ¡enà nepomohla ani konverze názvu pÅ™es sed, ani nejÅ¡ÃlenÄ›jšà kombinace uvozovek. Jednou z možnostà je doÄasnÄ› zmÄ›nit $IFS, ale to je nebezpeÄné. Alternativnnà řeÅ¡enà mezerového problému skýtá následujÃcà konstrukce:
find -name *.mp3 | while read; do
...
done
Podle flamewar, na nÞ jsem pÅ™i hledánà řeÅ¡enà narazil, bych uživatele Linuxu rozdÄ›lil do dvou skupin, podle toho, jak pojmenovávajà soubory:
Tito uživatelé se pÅ™izpůsobujà systému a zažitým UN*Xovým pravidlům, soubory pojmenovávajà tak, aby jejich skripty pracovaly bez komplikacÃ, i za cenu drobných úprav názvu souboru. NepÅ™ÃÄà se jim zamÄ›nit mezery za podtržÃtka Äi nahrazovat diakritické znaky jejich ASCII alternativami. Jejich skripty jim za odmÄ›nu nekomplikujà život neposluÅ¡nostÃ, nevýhodou ovÅ¡em je neúplná informaÄnà hodnota názvů souborů. NavÃc budou-li ji chtÃt navrátit, musejà to udÄ›lat ruÄnÄ›, což je napÅ™. u nÄ›kolika stovek MP3 skladeb bájeÄná zábava na dlouhé zimnà veÄery.
Snažà se naopak systém pÅ™izpůsobit sobÄ›. Jdou pÅ™es mrtvoly, jen aby se jejich soubor mohl v názvu hemžit mezerami, háÄky, Äárkami, a vÅ¡elijakými dalÅ¡Ãmi podivnostmi. ÄŒasto se pÅ™i tvorbÄ› skriptů potýkajà s problémy, ovÅ¡em Å™ešà je s obrovskou vytrvalostà a vÅ¡emi dostupnými prostÅ™edky. PÅ™edstava, že by se museli podÅ™Ãdit a upravit název svého souboru je pro nÄ› nesnesitelná a znamenala by kapitulaci.