|
|
|
@ -8,6 +8,7 @@
@@ -8,6 +8,7 @@
|
|
|
|
|
local remove_archive |
|
|
|
|
local success |
|
|
|
|
local file_name |
|
|
|
|
local file_path |
|
|
|
|
local extract_dir |
|
|
|
|
|
|
|
|
|
if (( $# == 0 )); then |
|
|
|
@ -36,6 +37,7 @@ while (( $# > 0 )); do
@@ -36,6 +37,7 @@ while (( $# > 0 )); do
|
|
|
|
|
|
|
|
|
|
success=0 |
|
|
|
|
file_name="${1:t}" |
|
|
|
|
file_path="${1:A}" |
|
|
|
|
extract_dir="${file_name:r}" |
|
|
|
|
case "$1:l" in |
|
|
|
|
(*.tar.gz|*.tgz) tar xvzf "$1" ;; |
|
|
|
@ -60,10 +62,10 @@ while (( $# > 0 )); do
@@ -60,10 +62,10 @@ while (( $# > 0 )); do
|
|
|
|
|
(*.deb) |
|
|
|
|
mkdir -p "$extract_dir/control" |
|
|
|
|
mkdir -p "$extract_dir/data" |
|
|
|
|
cd "$extract_dir"; ar vx "../${1}" > /dev/null |
|
|
|
|
cd control; tar xzvf ../control.tar.gz |
|
|
|
|
cd ../data; tar xzvf ../data.tar.gz |
|
|
|
|
cd ..; rm *.tar.gz debian-binary |
|
|
|
|
cd "$extract_dir"; ar vx "${file_path}" > /dev/null |
|
|
|
|
cd control; tar xvf ../control.tar.* |
|
|
|
|
cd ../data; tar xvf ../data.tar.* |
|
|
|
|
cd ..; rm control.tar.* data.tar.* debian-binary |
|
|
|
|
cd .. |
|
|
|
|
;; |
|
|
|
|
(*) |
|
|
|
|