2016-11-04 18 views

Odpowiedz

1
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.

+0

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

1

Możesz po prostu uruchomić:

open archive.xip 
2

open -W archive.xip będzie działać lepiej, ponieważ będzie następnie zablokować aż archiwum zakończyła otwarcie.

Powiązane problemy