Szukałem, jak wyodrębnić archiwum XIP za pomocą wiersza poleceń bez powodzenia, więc opuszczam własne rozwiązanie, jako funkcję bash
, tutaj.Jak wyodrębnić archiwum XIP za pomocą wiersza poleceń?
Znalazłem swoją inspirację here.
Szukałem, jak wyodrębnić archiwum XIP za pomocą wiersza poleceń bez powodzenia, więc opuszczam własne rozwiązanie, jako funkcję bash
, tutaj.Jak wyodrębnić archiwum XIP za pomocą wiersza poleceń?
Znalazłem swoją inspirację here.
function unxip()
{
[ -z "$1" ] && echo "usage: unxip /path/to/archive.xip" && return
# http://newosxbook.com/src.jl?tree=listings&file=pbzx.c
PBZX="/usr/local/src/pbzx/pbzx" && [ ! -x "$PBZX" ] && echo "$PBZX not found." && return
[ ! -f "$1" ] && echo "$1 not found." && return
[ -f "Content" ] || [ -f "Metadata" ] && echo "Content or Metadata already exists." && return
pkgutil --check-signature "$1" && xar -xf "$1" && "$PBZX" Content | sudo tar x --strip-components=1
rm "Content" "Metadata"
}
Najpierw sprawdź xip
podpisu pliku następnie rozpakować jego zawartość za pomocą xar
. Następnie używamy Jonathana Levina pbzx, aby poprawnie rozpakować porcje pbzx
i wyprowadzić wyjście do tar
, pomijając .
, aby uniknąć nadpisania bieżących uprawnień do katalogu roboczego.
To wystarczy, aby rozpakować archiwa Xcode8.xip
na OS X El Capitan.
Możesz po prostu uruchomić:
open archive.xip
open -W archive.xip
będzie działać lepiej, ponieważ będzie następnie zablokować aż archiwum zakończyła otwarcie.
Jest to niepożądane z punktu widzenia technologii CI, ponieważ wymaga zainstalowania aplikacji innej firmy, gdy w systemie są już zainstalowane rodzime narzędzia (/ System/Library/CoreServices/Applications/Archive Utility.app/Contents/MacOS/Archive Utility). wykonuj pracę. – ablarg