1、语法
((i=i+1));
x=$(( $x + 1 ))
x=`expr $x + 1`
注意:expr 运算和空格
2、实例
until example
#bin/bash
i=1
s=0
until [[ i -gt 30 ]];
do
((s=s+i));
((i=i+1));
done
3、实现取文件5次,如果还不成功退出
#!/bin/sh
./etc/profile
. ~/.bash_profile
date=`date -d yesterday +"%Y%m%d"`
getcount=1
echo "$date日期开始取文件"
echo `date +"%Y%m%d-%H:%M:%S"`"开始获取文件"
rm -rf ${date}_4800_WoAccountRec*.REQ
SERVER=192.168...#请换成自己的ip地址和用户密码
USERNAME=user
PASSWORD=pw
/usr/bin/ftp -n $SERVER <
user $USERNAME $PASSWORD
cd /WoAccountRec/$date/
binary
verbose
prom off
mget *
close
quit
EOF
filecount=`ls -l $date*|wc -l`
echo "获取文件的个数是$filecount"
while [[ "$filecount" -eq '0' ]]
do
echo `date +"%Y%m%d-%H:%M:%S"`"再${getcount}次开始获取文件"
echo "没有获取到1个文件程序循环等待1分钟!"
getcount=`expr $getcount + 1` #累加变量
#((getcount=getcount+1))
if [[ $getcount -eq 5 ]]; then #判断是否是到5次了,如果到了就退出程序脚本
exit
fi
sleep 1m
SERVER=192.168...
USERNAME=user
PASSWORD=pw
/usr/bin/ftp -n $SERVER <
user $USERNAME $PASSWORD
cd /WoAccountRec/$date/
binary
verbose
prom off
mget *
close
quit
EOF
filecount=`ls -l $date*|wc -l`
done
echo "你好!取文件成功了
阅读(9379) | 评论(0) | 转发(0) |