有时候我们需要将一个文件拷贝好几分。批量添加用户也是同样的原理的。
使用到的知识:
test 或 [ :可用来表示比较的
算数比较
-eq 相等
-ne 不等
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
! 取反
文件条件测试
-d 是否为目录
-f 是否为文件
-g 文件的set-group-id位是否被设置
-r 文件是否可读
-s 文件是否不为空白文件,文件大小不为零,结果为真。
-u 文件的set-user-id为是否被设置
-w 文件是否可写
-x 文件是否可以执行
获取运行时传递的参数
$1、$2....$n :表示得到第1个,第2个。。。。第n个参数。(不包括文件的名字)
$@ 被扩展成 "$1" "$2" ... "$n"
$# 参数的个数
if 语句的格式
if condition
then
statements
else
statements
fi
while语句的格式
while condition
do
statements
done
下面直接看代码吧。(由于使用了算数计算。我使用的是bash shell。在ubunut12.04中运行成功。)
#/bin/bash
argc=$#
if [ $argc -lt 2 ]
then
echo "请输入两个参数,依次为要拷贝的文件和次数"
exit 0
fi
file=$1
count=$2
left=${file%.*} #取出文件的名字。如a.tar.gz 的结果为a.tar
right=${file##*.} #得到文件的后缀。如a.tar.gz 的结果为gz
i=0
if [ -f "$file" ] #判断文件是否存在。
then
while [ $i -le $count ]
do
cp $file "$left$i.$right" #"$left$i.$right"组合出新的文件名字
let "i=$i + 1" #对i的值加一
done
else
echo "$file is not exist\n"
fi
blog: http://blog.csdn.net/rentiansheng/article/details/8851684