- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
#!/bin/bash
ys="y"
ss=0
for fl in `find $1`
do
echo -n "Do you want archive file $fl?(y/n)"
read ck
if [ "$ck"=="$ys" ]; then
tar -cf $fl.tar $fl
ls -la $fl
ls -la $fl.tar
os=`ls -la $fl | gawk '{ print $5 }'`
ts=`ls -la $fl.tar | gawk '{ print $5 }'`
let "ds=ts-os"
let "ss=ss+ds"
echo "ss $ss ds $ds"
fi
done
Анонимус 25.01.2011 16:55 # 0
))))))))
Dummy00001 27.01.2011 16:48 # 0
все слетело весьма спектакулярно, когда юзвери (по ошибке, не преднамерено) в имени файла на конце `*` поствили.
xaionaro 12.02.2011 18:04 # 0
И вообще, что за бред? Оно архивирует и директории и файлы, судя по тому, как "find" вызывается. Тогда зачем смотреть размер директории с помощью "ls"? (хотя и без этого использовать "ls" немного убого в таких целях). А если архивируется одинокий файл, то собственно зачем его архивировать в tar, да ещё и без сжатия?
AliceGoth 09.04.2011 19:22 # 0