Рабочий (надеюсь) вариант функций распаковки:
# # Unpack archives. Functions by `muhas` modified by Artiom N.. # alias x=unpack # Распаковка любого архива (http://muhas.ru/?p=55) unpack() { if [ $# -lt 1 ]; then echo "Usage: unpack <file> [args]" >&2 return 1 fi a_name="$1" lower_name="$(echo "$1" | tr A-Z a-z)" extract_dir="$( echo $(basename "$a_name") | sed "s/\.${1##*.}//g" )" shift if [ -r "$a_name" ] ; then case "$lower_name" in *.tar.bz2|*.tbz|*.tbz2) tar xvjf "$a_name" $* ;; *.tar.gz|*.tgz) tar xvzf "$a_name" $* ;; *.tar.xz) tar --xz -xvf "$a_name" $* ;; *.tar.zma|*.tlz) tar --lzma -xvf "$a_name" $* ;; *.bz2) bunzip2 "$a_name" $* ;; *.rar) unrar x "$a_name" $* ;; *.gz) gunzip "$a_name" $* ;; *.tar) tar xvf "$a_name" $* ;; *.zip) unzip "$a_name" $* ;; *.z) uncompress "$a_name" $* ;; *.7z) 7za x "$a_name" $* ;; *.rar) unrar x "$a_name" $* ;; *.xz) unxz "$a_name" $* ;; *.arj) arj x "$a_name" $* ;; *.ace) unace x "$a_name" $* ;; *.lzm|*.lzma) unlzma "$a_name" $* ;; *.lha) lha xv "$a_name" $* ;; *.ar) command ar vx "$a_name" $* ;; *.cpio) cpio -idv $* < "$a_name" ;; *.deb) mkdir -p "$extract_dir/control" mkdir -p "$extract_dir/data" cd "$extract_dir" command ar vx "../${a_name}" > /dev/null cd control; tar xzvf ../control.tar.gz cd ../data; tar xzvf ../data.tar.gz cd ..; rm *.tar.gz debian-binary cd .. ;; *.rpm) mkdir "$extract_dir" cd "$extract_dir" rpm2cpio "../${a_name}"|cpio -idumv $* cd .. ;; *) echo "Cannot unpack '$a_name' $*..." ;; esac else echo "'$a_name' is not a valid file" fi } # ... и упаковка (http://muhas.ru/?p=55) pack() { if [ $1 ] ; then case $1 in tbz) tar cjvf $2.tar.bz2 $2 ;; tgz) tar czvf $2.tar.gz $2 ;; tar) tar cpvf $2.tar $2 ;; bz2) bzip $2 ;; gz) gzip -c -9 --best -n $2 > $2.gz ;; zip) zip -r $2.zip $2 ;; 7z) 7z a $2.7z $2 ;; rar) rar a $2.rar $2 ;; *) echo "'$1' Cannot be packed via pack()" ;; esac else echo "'$1' is not a valid file" fi } -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/525aea61.5010...@yandex.ru