#!/bin/bash
function getdir(){
for element in `ls $1`
do
dir_or_file=$1"/"$element
if [ -d $dir_or_file ]; # -d 文件夹判断
then
echo "dir == $dir_or_file" # getdir $dir_or_file
tar zcf "$dir_or_file.tgz" $dir_or_file
else
echo "file == $dir_or_file " # 跳过文件
fi
done
}

root_dir=./
getdir $root_dir


​-e filename  如果 filename存在,则为真  [ -e ​​​​/var/log/syslog​​​​]​

​-d filename  如果 filename为目录,则为真  [ -d ​​​​/tmp/mydir​​​​]​

​-f filename  如果 filename为常规文件,则为真  [ -f ​​​​/usr/bin/grep​​​​]​

​-L filename  如果 filename为符号链接,则为真  [ -L ​​​​/usr/bin/grep​​​​]​

​-r filename  如果 filename可读,则为真  [ -r ​​​​/var/log/syslog​​​​]​

​-w filename  如果 filename可写,则为真  [ -w ​​​​/var/mytmp​​​​.txt ]​

​-x filename  如果 filename可执行,则为真  [ -L ​​​​/usr/bin/grep​​​​]​

​filename1-nt filename2  如果 filename1比 filename2新,则为真  [ ​​​​/tmp/install/etc/services​​​​-nt ​​​​/etc/services​​​​]​

​filename1-ot filename2  如果 filename1比 filename2旧,则为真  [ ​​​​/boot/bzImage​​​​-ot arch​​​​/i386/boot/bzImage​​​​]​