-if [[ $unpack_file =~ .*\.tar ]]; then
- tar -f $unpack_file
-elif [[ $unpack_file =~ .*\.tar\.gz \
- || $unpack_file =~ .*\.tar\.bz2 \
- || $unpack_file =~ .*\.tgz ]]; then
- tar -xf $unpack_file
-elif [[ $unpack_file =~ .*\.zip ]]; then
- unzip $unpack_file
+if [[ "$archive_file" =~ .*\.tar$ \
+ || "$archive_file" =~ .*\.tar\.gz$ \
+ || "$archive_file" =~ .*\.tar\.bz2$ \
+ || "$archive_file" =~ .*\.iar$ \
+ || "$archive_file" =~ .*\.oar$ \
+ || "$archive_file" =~ .*\.tgz$ \
+ || "$archive_file" =~ .*\.ova$ \
+ || "$archive_file" =~ .*\.snarf$ \
+ ]]; then
+ tar -xf "$archive_file" &>/dev/null
+elif [[ "$archive_file" =~ .*\.zip$ \
+ || "$archive_file" =~ .*\.epub$ \
+ || "$archive_file" =~ .*\.odt$ \
+ || "$archive_file" =~ .*\.jar$ \
+ || "$archive_file" =~ .*\.war$ \
+ ]]; then
+ unzip "$archive_file" &>/dev/null
+elif [[ "$archive_file" =~ .*\.7z$ \
+ ]]; then
+ 7z x "$archive_file" &>/dev/null