Problem mit Leerzeichen im Namen

Sascha_77

Sascha_77

Aktives Mitglied
Thread Starter
Dabei seit
23.10.2005
Beiträge
763
Reaktionspunkte
98
Guten Morgen.

Und wieder eine Frage. Ich habe dieses Script hier welches Folder mit *.app die kein Leerzeichen im Namen haben keinerlei Probleme hat. Aber wehe wenn ... weiss jemand wo ich hier die "" setzen muss? Ich hab schon so ziemlich alles probiert aber es will einfach nicht klappen. Setze ich z.B. bei $DirList "" drum funktioniert es gar nicht und nach jedem Leerzeichen denkt er es ist eine neue Datei. Also z.B. "Apple Mail.app". Da denkt er es ist einmal ein Ordner Namens "Apple" und einmal "Mail". Was natürlich nicht stimmt. Hat jemand eine Lösung zur Hand?

Code:
Dirlist=$(find . -type d -name "*.app")
for a in $Dirlist ; do
chmod +x $a/Contents/MacOS/*
done

for b in "$(find . -maxdepth 2 -name '*.app')"; do
zip -r "$b".zip "$b"
rename 's/.app//g' "$b.zip"
rm -r "$b"
done
 
naja, die erste schleife kannst dir eigentlich sparen, wenn du -exec in find verwenden würdest.
find . -type d -name "*.app" -exec chmod +x "{}/Contents/MacOS/*"\;
 
Leider chmodded er aber nicht den Inhalt von MacOS sondern wirft diese Meldung aus:

chmod: Zugriff auf „./Mail.app/Contents/MacOS/*“ nicht möglich: Datei oder Verzeichnis nicht gefunden

mache ich dann allerdings einmal

chmod +x ./Mail.app/Contents/MacOS/*

von Hand funktioniert es. Irgendwie nimmt der das Sternchen nicht.
 
find . -type d -name "*.app" -exec chmod -R +x "{}/Contents/MacOS/"\;

versuch mal so...
 
Wunderbar so gings. Musste nur noch ein Leerzeichen vor den letzten Backslash.

Danke.
 
Zurück
Oben Unten