Return correct exit codes from extract script
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
This commit is contained in:
parent
b5a162f15d
commit
fed3be2411
84
extract
84
extract
|
|
@ -1,36 +1,64 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ $# -lt 1 ];then
|
||||
echo "Usage: `basename $0` FILES"
|
||||
if [ $# -lt 1 ]; then
|
||||
echo "Usage: $(basename $0) FILES"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
extract () {
|
||||
arg="$1"
|
||||
cd "$(dirname "$arg")" || exit
|
||||
case "$arg" in
|
||||
*.tar.bz2)
|
||||
tar xjf "$arg" --one-top-level ;;
|
||||
*.tar.gz)
|
||||
tar xzf "$arg" --one-top-level ;;
|
||||
*.bz2) bunzip2 "$arg" ;;
|
||||
*.gz) gunzip "$arg" ;;
|
||||
*.tar) tar xf "$arg" --one-top-level ;;
|
||||
*.tbz2) tar xjf "$arg" --one-top-level ;;
|
||||
*.tgz) tar xzf "$arg" --one-top-level ;;
|
||||
*.zip)
|
||||
a_dir=`expr "$arg" : '\(.*\).zip'`
|
||||
7z x "$arg" -o"$a_dir" ;;
|
||||
*.Z) uncompress "$arg" ;;
|
||||
*.rar)
|
||||
a_dir=`expr "$arg" : '\(.*\).rar'` ;
|
||||
mkdir "$a_dir" ;
|
||||
7z x "$arg" -o"$a_dir" ;;
|
||||
*) echo "'$arg' cannot be extracted via extract()" 1>&2
|
||||
exit 1 ;;
|
||||
|
||||
esac
|
||||
cd - || exit
|
||||
extract() {
|
||||
arg="$1"
|
||||
cd "$(dirname "$arg")" || exit
|
||||
case "$arg" in
|
||||
*.tar.bz2)
|
||||
tar xjf "$arg" --one-top-level
|
||||
local code=$?
|
||||
;;
|
||||
*.tar.gz)
|
||||
tar xzf "$arg" --one-top-level
|
||||
local code=$?
|
||||
;;
|
||||
*.bz2)
|
||||
bunzip2 "$arg"
|
||||
local code=$?
|
||||
;;
|
||||
*.gz)
|
||||
gunzip "$arg"
|
||||
local code=$?
|
||||
;;
|
||||
*.tar)
|
||||
tar xf "$arg" --one-top-level
|
||||
local code=$?
|
||||
;;
|
||||
*.tbz2)
|
||||
(tar xjf "$arg" --one-top-level)
|
||||
local code=$?
|
||||
;;
|
||||
*.tgz)
|
||||
tar xzf "$arg" --one-top-level
|
||||
local code=$?
|
||||
;;
|
||||
*.zip)
|
||||
a_dir=$(expr "$arg" : '\(.*\).zip')
|
||||
7z x "$arg" -o"$a_dir"
|
||||
local code=$?
|
||||
;;
|
||||
*.Z)
|
||||
uncompress "$arg"
|
||||
local code=$?
|
||||
;;
|
||||
*.rar)
|
||||
a_dir=$(expr "$arg" : '\(.*\).rar')
|
||||
mkdir "$a_dir"
|
||||
7z x "$arg" -o"$a_dir"
|
||||
local code=$?
|
||||
;;
|
||||
*)
|
||||
echo "'$arg' cannot be extracted via extract()" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
cd - || exit $?
|
||||
exit $code
|
||||
}
|
||||
|
||||
extract "$1"
|
||||
|
|
|
|||
Loading…
Reference in New Issue