2016-11-04 7 views

答えて

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" 
} 

我々はまずxarを使用して、その内容を抽出xipファイル署名を確認します。次に、Jonathan Levin pbzxを使用して、チャンクを適切に解凍し、出力をtarにパイプし、現在の作業ディレクトリのアクセス権を上書きしないように.をスキップします。

これは、OS X El CapitanのXcode8.xipアーカイブを解凍するための秘訣です。

+0

システムにインストールされているネイティブツール(/ System/Library/CoreServices/Applications/Archive Utility.app/Contents/MacOS/Archicユーティリティ)が既にインストールされている場合、サードパーティのアプリケーションをインストールする必要があるため、CIの観点からは望ましくありません。仕事をしなさい。 – ablarg

1

あなただけ実行することができます:

open archive.xip 
2

open -W archive.xipは、アーカイブが開口部を完了するまで、それはその後、ブロックしますので、より良い動作します。

関連する問題