shell脚本 - for循环 -多进程- 解决报错 Syntax error: Bad for loop variable

 

为了编写批量导入数据的程序,故而学习编写shell脚本!现学现用!php

============================================shell

 

一、第一个简单的for循环bash

#!/bin/bash
for i in 1 2 3 4;
do
  echo $i;
donecurl

 

 

二、测试for的自增加的循环:oop

#!/bin/bash
for ((i=1; i<=5; i++))
do
  echo $i;
done学习

若是会报错,没有则跳过:测试

Syntax error: Bad for loop variableurl

缘由:代码对于标准bash而言没有错,由于Ubuntu为了加快开机速度,用dash代替了传统的bash,是dash在捣鬼。spa

解决方法:取消dash.net

dpkg-reconfigure dash  

出现弹框,选择NO

参考原文详情,解决报错:

http://blog.csdn.net/yf210yf/article/details/9206185

 

 

三、实战:批量执行php文件 - 单进程

#!/bin/bash
for ((i=1; i<=1000; i++))
do
  echo `curl http://localhost/add.php?page=$i &`;    
done

// 使用echo能够看到输出结果,下图中“add-end-0”为个人test.php程序运行完一次的输出结果

 

 

四、进阶:多进程!!!

#!/bin/bash
for ((i=1; i<=1000; i++))
do
{
  echo `curl http://localhost/add.php?page=$i &`;
}&      ## 重点:添加了 & ,将for循环里的执行语句,集合起来!!!
done
wait     ## 重点:最后加个wait,手机号执行语句后,一块执行!!!

关于更多多进程详解,参看:

http://www.jb51.net/article/116952.htm

================================

实行:

time bash test.sh    ## 重点:最后执行的时候,加个 time , 会计算出脚本执行的时间。

相关文章
相关标签/搜索