#!/bin/sh if [[ $# -eq 0 ]] ; then unzipdir *.zip else while [[ $# -gt 0 ]] ; do hold="$PWD" name="${1}" shift [[ ! -f "$name" ]] && continue name="${name##*/}" ext="${name##*.}" name="${name%.*}" [[ -d "$name" ]] && continue mkdir "${name}" && cd "${name}" || exit 1 unzip ../"${name}.${ext}" || exit 1 cd .. rm -r "${name}.${ext}" || exit 1 cd "$hold" done fi