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 , 會計算出腳本執行的時間。

相關文章
相關標籤/搜索