Code: Select all
# only accept .tgz .tar.gz .txz .tar.xz files...
EXT=''
case ${TARBALL} in
*tar.gz) EXT='.tar.gz' ; OPT=-z ;;
*tgz) EXT='.tar.gz' ; OPT=-z ; mv -f ${TARBALL} ${DIRPKG}/${BASEPKG}.tar.gz ; TARBALL="${DIRPKG}/${BASEPKG}.tar.gz" ;;
*tar.xz) EXT='.tar.xz' ; OPT=-J ;;
*tgz) EXT='.tar.gz' ; OPT=-z ; mv -f ${TARBALL} ${DIRPKG}/${BASEPKG}.tar.gz ; TARBALL="${DIRPKG}/${BASEPKG}.tar.gz" ;;
*) echo "${1##*/}: File extension not allowed" >&2 ; exit 1 ;;
esac
# split TARBALL path/filename into components...
BASEPKG="`basename ${TARBALL} $EXT`"
DIRPKG="`dirname ${TARBALL}`"
[ "${DIRPKG}" = "/" ] && DIRPKG=""
Here's one possible solution:
Code: Select all
# split TARBALL path/filename into components
splitname() {
BASEPKG="`basename ${TARBALL} $1`"
DIRPKG="`dirname ${TARBALL}`"
[ "${DIRPKG}" = "/" ] && DIRPKG=""
}
# only accept .tgz .tar.gz .txz .tar.xz files...
EXT=''
case ${TARBALL} in
*tar.gz) OPT=-z ; splitname '.tar.gz' ;;
*tgz) OPT=-z ; splitname '.tgz' ; mv -f ${TARBALL} ${DIRPKG}/${BASEPKG}.tar.gz ; TARBALL="${DIRPKG}/${BASEPKG}.tar.gz" ;;
*tar.xz) OPT=-J ; splitname '.tar.xz' ;;
*tgz) OPT=-z ; splitname '.tgz' ; mv -f ${TARBALL} ${DIRPKG}/${BASEPKG}.tar.gz ; TARBALL="${DIRPKG}/${BASEPKG}.tar.gz" ;;
*) echo "${1##*/}: File extension not allowed" >&2 ; exit 1 ;;
esac