
ZIP-Archive, die auf Mac OS X-Systemen erstellt werden, enthalten normalerweise ein __MACOSX
Verzeichnis, dasnutzlos, lästig und unerwünschtauf so ziemlich jedem anderen Betriebssystem.
Zum Entpacken von ZIP-Archiven verwende ichInfo-ZIP, das meines Wissens das Standard-Entpackprogramm der meisten Linux-Distributionen ist. Was ist die beste Möglichkeit, Info-ZIPs dazu zu bringen, das Entpacken eventuell vorhandener Verzeichnisse unzip
immer und automatisch zu unterdrücken ?__MACOSX
Laut der unzip
Manpage -x
kann die Option verwendet werden, um Verzeichnisse von der Verarbeitung auszuschließen, und tatsächlich funktioniert das Hinzufügen -x __MACOSX/*
am Ende meiner unzip
Befehlszeile. Aber ich möchte das nicht ständig eingeben müssen. Die Manpage sagt auch, dass Befehlszeilenoptionen aus der UNZIP
Umgebungsvariable gelesen werden können, aber anscheinend funktioniert das nur für die Optionen, die kommenVorder Archivname (wobei -x
danach kommen muss):
$ export UNZIP="-x __MACOSX/*"
$ unzip foo.zip
unzip: cannot find or open __MACOSX, __MACOSX.zip or __MACOSX.ZIP.
Gibt es eine bessere Lösung als das Einbinden unzip
in ein Shell-Skript, das automatisch etwas -x __MACOSX/*
am Ende der Befehlszeile hinzufügt?
Antwort1
Verwenden Sie eine Shell-Funktion:
myunzip() {
unzip "$@" -x '__MACOSX/*'
}
myunzip foo.zip