mike1963 schrieb:
Hallo allseits,
aufgrund einer kurzen Diskussion vor ein paar Threads, warum folgender Code nur suboptimal ist: "array=( $(find . -type f) )" (Die Antwort: Weil er bei Files mit Space im Dateinamen ein falsches Ergebnis liefert) stelle ich mir die Frage:
Wozu überhaupt Files mit irgendwelchen Sonderzeichen im Dateinamen zulassen?
Warum unnötig einschränken? Je mehr Flexibilität man da hat, desto einfacher ist es für Programme, Daten mit passenden Namen abzulegen. Sonst muss erst mitunter aufwändig der Name bereinigt werden und oft muss das auch so passieren, dass man es in beide Richtungen ohne Konflikte umwandeln kann. Außerdem können so die Nutzer Dateinamen vergeben, die für sie lesbar sind - man denke auch an andere Sprachen, die nicht mit dem lateinischen Alphabet auskommen.
Kann man nicht einfach mit inotify die Anlage/Speicherung solcher Files von Haus aus verbieten? Das würde alle am System laufenden Scripts, die dzt. auf solche Feinheiten achten müssen, bzw. auch den gesamten Umgang mit Files am System deutlich erleichtern, man hat keine "Sonderfälle" mehr die beachtet werden müssen.
Ist das nur eine Schnapsidee, bzw. was spricht dagegen?
Das könnte auch einfach Dein System zum stehen bringen. Solche dramatischen Einschränkungen haben oft katastrophale Folgen.
Es ist aber zum Glück gar nicht so schwer, seine Skripte so zu schreiben, dass sie sauber mit solchen Sonderzeichen im Namen umgehen können. Manche halten das für übertrieben, ich machen das gewohnheitsmäßig, weil mir die Robustheit das wert ist.