about summary refs log tree commit diff stats
path: root/home-manger/lf/cmds/unarchive.sh
diff options
context:
space:
mode:
Diffstat (limited to 'home-manger/lf/cmds/unarchive.sh')
-rw-r--r--home-manger/lf/cmds/unarchive.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/home-manger/lf/cmds/unarchive.sh b/home-manger/lf/cmds/unarchive.sh
new file mode 100644
index 00000000..47a713fa
--- /dev/null
+++ b/home-manger/lf/cmds/unarchive.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+# shellcheck disable=SC2086
+# shellcheck source=/dev/null
+. ~/.local/lib/shell/lib
+
+
+# extract the current file with the right command
+# (xkcd link: https://xkcd.com/1168/)
+set -f
+case "$f" in
+    *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
+    *.tar.gz|*.tgz) tar xzvf $f;;
+    *.tar.xz|*.txz) tar xJvf $f;;
+    *.zip) unzip $f;;
+    *.rar) unrar x $f;;
+    *.7z) 7z x $f;;
+    *) warning "Unsupported format" ;;
+esac
+
+
+
+if [ -d /tmp/LIB_FILE_TEMP_DIR/ ];then rm -r /tmp/LIB_FILE_TEMP_DIR/; fi