#!/bin/bash
#
#date:2010/08/24
#fileName:Demo.sh
#----------------------------- 第一题------------------------
function_one()
{
#判断文件是否存在
if ! [ -e $1 ]
then
echo "files is not exist"
exit
fi
#获取文件后缀
#-F. 表示以短点为分隔符
#print 表示打印 $NF 当前中的记录数
postfix=`echo $1 | awk -F. '{print $NF}'`
#将文件后缀换成小写字母
lpostfix=`echo $postfix | tr A-Z a-z`
#注意 每个分支结束需要';;'结尾
case $lpostfix in
tar )
tar -xvf $1;;
gz )
tar -zxvf $1
if [ $? = 0 ]
then
gzip -df $1
fi;;
bz2 )
tar -jxvf $1;;
z )
compress -d $1;;
* )
echo "not decompressing!!"
esac
echo "decompressing files succeed!"
}
#function_one $1
#-----------------------------第一题 end---------------------------
#-----------------------------第二题------------------------------
res=1
function_two()
{
if [ $1 -gt 0 ]
then
res=`expr $res \* $1`
function_two `expr $1 - 1`
fi
}
#function_two $1
#echo "10!=$res"
#-----------------------------第二题 end---------------------------
#-----------------------------第四题 ------------------------------
v_shift=1
v_temp=1
function_four()
{
while [ $# -gt 0 ]
do
v_temp=`echo $@ | awk -F' ' '{print $1}'`
v_shift=`expr $v_shift \* $v_temp`
shift
done
}
#function_four $@
#echo "参数之积为:$v_shift "
#-----------------------------第四题 end---------------------------
#-----------------------------第五题 ------------------------------
function_five()
{
v_i=$1
v_total=0
while [ $v_i -gt 0 ]
do
if ! [ `expr $v_i % 3` = 0 ]
then
v_i=`expr $v_i - 1`
continue
fi
v_total=`expr $v_total + $v_i`
echo $v_i
v_i=`expr $v_i - 1`
done
}
#function_five $1
#echo "0-$1内可以整除3的数据之和为:$v_total"
#-----------------------------第五题 end---------------------------
#-----------------------------第六题 ------------------------------
#定时没有实现
function_six()
{
#需要备份的目录
backup=./log/
#备份后的文件存在目录
cpdir=./backup/log/
if ! [ -d $cpdir ]
then
mkdir -p $cpdir
fi
fileName=`date -d today +"%Y%m%d"`
fileName=backup_${fileName}.tar.gz
tar -zcvf $fileName $backup
mv ./$fileName $cpdir
if [ $? = 0 ]
then
echo "备份成功"
fi
}
#function_six
#-----------------------------第六题 end---------------------------
#-----------------------------第九题---------------------------
function_nie()
{
v_i=1
while [ $v_i -le 9 ]
do
v_j=1
while [ $v_j -le $v_i ]
do
echo -n "$v_j * $v_i = `expr $v_i \* $v_j` "
v_j=`expr $v_j + 1`
done
echo ""
v_i=`expr $v_i + 1`
done
}
function_nie
#-----------------------------第九题 end---------------------------
shell 例子
最新推荐文章于 2024-06-06 23:41:23 发布