如果说unix command是sql语句的话,那么shell编程就类似于数据库的存储过程,
以下是基本的shell编程,完成的功能是将一个目录下的一些文件拷贝到另外一个目录
,对于是目录的文件,需要递归实现,这里暂时还未实现。
需要说明的是,unix系统里,所有的内容都是以文件的形式出现,包括一些硬件设备
#!/bin/bash
echo "test bak begin"
sourcepath="/gaps/test"
aimpath="/gaps/bak/"
name=`ls -l $sourcepath | awk '{print $9}'`
for i in $name
do
pathname=`echo $sourcepath"/"$i`
echo $pathname
if [ -d "$pathname" ];then
echo $i " is a deritory"
elif [ -f "$pathname" ];then
datev=`date +"%Y-%m-%d"`
tamp=$aimpath$datev
echo $tamp
relative=`dirname $pathname` ---获得一文件的路径信息
tamp=$tamp$relative
echo $tamp
echo $pathname
mkdir -p $tamp
cp $pathname $tamp
else
echo "error"
fi
done
echo $name