blob: f335dc6367c62b3c16f3af49a2c0c7454144f550 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# builtin function for archives, see $ZDIR/alias_suffix
## vim:ft=zsh
function confirm_shar {
echo -ne "\e[1;33mshar archives are shell scripts and can easily contain malicious code.\e[0m Proceed? [y/N] "
read -q
}
if [[ -f $1 ]] {
case $1 in
*.(tar.bz2|bz2)) tar xvjf $1 ;;
*.(tar.gz|tgz)) tar xvzf $1 ;;
*.tar.lzma) unlzma $1 | tar xv ;;
*.ace) unace e $1 ;;
*.rar) unrar x $1 ;;
*.deb) ar -x $1 ;;
*.bz2) bzip2 -d $1 ;;
*.lzh) lha x $1 ;;
*.gz) gunzip -d $1 ;;
*.tar) tar xvf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.shar) confirm_shar && sh $1 ;;
*.cpio) cpio --no-absolute-filenames -idv < $1 ;;
*.lzma) unlzma $1 ;;
*) echo "Unknown archive type: $1"; return 2 ;;
esac
} else {
echo "No such file: $1"
return 1
}
|