summaryrefslogtreecommitdiff
path: root/dotfiles/system/.profile.d/extract.sh
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/system/.profile.d/extract.sh')
-rw-r--r--dotfiles/system/.profile.d/extract.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/dotfiles/system/.profile.d/extract.sh b/dotfiles/system/.profile.d/extract.sh
new file mode 100644
index 0000000..5fce587
--- /dev/null
+++ b/dotfiles/system/.profile.d/extract.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# extract.sh
+# Craig Jennings <c@cjennings.net>
+# convenience extraction function
+
+## EXTRACT
+
+extract () {
+ if [ -f "$1" ] ; then
+ case "$1" in
+ *.tar.bz2) tar xjf "$1" ;;
+ *.tar.gz) tar xzf "$1" ;;
+ *.bz2) bunzip2 "$1" ;;
+ *.rar) rar x "$1" ;;
+ *.gz) gunzip "$1" ;;
+ *.tar) tar xf "$1" ;;
+ *.tbz2) tar xjf "$1" ;;
+ *.tgz) tar xzf "$1" ;;
+ *.zip) unzip "$1" ;;
+ *.Z) uncompress "$1" ;;
+ *) echo "$1 cannot be extracted via extract()" ;;
+ esac
+ else
+ echo "$1 is not a valid file"
+ fi
+}