アーカイブの内容を表示する

#!/bin/sh
#view_arch.sh

. f_askstring.sh

while : ; do
    ask_string "Input archive filename(.tgz or .tar.bz2): " 0
    if [ ! -f "$_STR" ]; then
        echo "Archive \"${_STR}\" Not found."
        continue
    fi

    if [ "$_STR" != "${_STR%.tgz}" ]; then
        ARCHKIND=1
        break
    elif [ "$_STR" != "${_STR%.bz2}" ]; then
        ARCHKIND=2
        break
    fi
done
ARCHTYPE=$_STR

case $ARCHKIND in
    1) tar -tvzf ${ARCHTYPE} ;;
    2) tar -tvjf ${ARCHTYPE} ;;
esac

unset ARCHTYPE ARCHKIND _STR
$ ./view_arch.sh 
Input archive filename(.tgz or .tar.bz2): 1.tar.bz2
2 1.tar.bz2
drwxr-xr-x m-ando/なし       0 2009-11-19 10:13 1/
-rw-r--r-- m-ando/なし       0 2009-11-14 09:41 1/a001.txt
-rw-r--r-- m-ando/なし       0 2009-11-14 09:41 1/a002.txt
-rw-r--r-- m-ando/なし       0 2009-11-14 09:41 1/a003.txt
-rw-r--r-- m-ando/なし       0 2009-11-14 09:41 1/a004.txt
-rw-r--r-- m-ando/なし       0 2009-11-14 09:41 1/a005.txt
-rw-r--r-- m-ando/なし       0 2009-11-14 09:41 1/a006.txt
-rw-r--r-- m-ando/なし       0 2009-11-14 09:41 1/a007.txt
-rw-r--r-- m-ando/なし       0 2009-11-14 09:41 1/a008.txt
-rw-r--r-- m-ando/なし       0 2009-11-14 09:41 1/a009.txt
-rw-r--r-- m-ando/なし       0 2009-11-14 09:51 1/a010.txt