. f_askstring.sh
while : ; do
ask_string "Input archive file name(.tgz or .bz2): " 0
if [ ! -f "$_STR" ]; then
echo "Archive \"${_STR}\" not found."
continue
fi
if [ "$_STR" != "${_STR%.tgz}" ]; then
ARCHKIND=1
break
elif
[ "$_STR" != "${_STR%.tar.bz2}" ]; then
ARCHKIND=2
break
fi
done
ARCHNAME=$_STR
echo "Archive File Name is \"${ARCHNAME}\""
while : ; do
ask_string "Input pickup file name(Blank is END): " 1
if [ $? -eq 1 ]; then
break
fi
FNAME=$_STR
case $ARCHKIND in
1) tar -xvkzf ${ARCHNAME} ${FNAME} ;;
2) tar -xvkjf ${ARCHNAME} ${FNAME} ;;
esac
done
unset ARCHNAME ARCHKIND FNAME _STR
$ ./pickup_files.sh
Input archive file name(.tgz or .bz2): 1.tgz
Archive File Name is "1.tgz"
Input pickup file name(Blank is END): 1/a001.txt
1/a001.txt
Input pickup file name(Blank is END):
$ ls 1
a001.txt