Windows和Linux指令碼實現for迴圈批量

2021-10-01 17:41:51 字數 1566 閱讀 6395

應用場景舉例,git上面的專案很多,有幾十個,不想乙個乙個去拉取,建立gitclone.bat指令碼檔案,內容如下

@echo off

echo start git clone

pause

for /f %%i in (list.txt) do git clone %%i

echo 'git clone finish!'

pause

1)命令解釋  echo off 即不顯示命令本身,只顯示執行的結果,加上@即連echo off 也不顯示

2)echo  即輸出字串

3)for /f %%i in (list.txt) do git clone %%i 

%%i為變數接受值,for *** in 集合 do 這個是for迴圈基本介面,/f表示度取檔案,預設按行讀取,其他的讀取規則參見

do 後面是要執行的命令

4)pause 按任意鍵繼續

5)list.txt檔案內容如下

應用場景,在服務部署後需要批量的取初始化資料即需要多次請求乙個介面,即可建立curlbat.sh

1)#!/bin/bash shell指令碼的固定格式,表示用/bin/bash來執行這個shell指令碼,shell指令碼的執行有好幾種,bash是常見的redhat系的linux系統中

2)log_file變數賦值 ,指定日誌檔案

3)i=1初始化i,記錄第幾行

4)for line in `cat mgdbid.txt`;  do done為迴圈的基礎格式

5)echo "read line" $i ":" $line | tee -a $log_file  其中echo 輸出字串 $line,$符為取變數的值

tee -a $log_file  tee -a 附加到既有檔案的後面,而非覆蓋它.整句即為將命令的輸出追加到日誌檔案

6) eval "$curl_cmd 2>&1" | tee -a $log_file  eval即要執行的命令引數  2>&1 即將標準錯誤重定向到標準輸出,也就是將命令的執行結果追加到result.log檔案中。

Linux和Windows指令碼語言

本文譯自 isystemadmin 的 list of popular scripting languages for linux and windows 具備指令碼知識的系統管理員與其他系統管理員有著明顯的區別。指令碼是一門 系統管理員 創造的藝術。這門藝術需要了解系統本身的相關知識,系統管理命令...

Linux和Windows指令碼中的延時操作

sleep 2 系統會延時2秒才執行下面的命令。但是windows中卻沒有對應的命令。如何做到延時呢?自己寫乙個簡單的延時程式當然可以辦到,同時有另外乙個更簡單的辦法。比如要掩飾10秒,可以輸入 ping 127.0.0.1 n 10 null 127.0.0.1是本機位址,只要不做特殊設定是可以p...

流行Linux和Windows指令碼語言列表

具備指令碼知識的系統管理員與其他系統管理員有著明顯的區別。指令碼是一門 系統管理員 創造的藝術。這門藝術需要了解系統本身的相關知識,系統管理命令的語法,程式設計和演算法知識以及至少一門指令碼程式語言。對系統管理員來說編寫指令碼有很多選擇,每種指令碼語言都有著自己獨特的語法和優點。指令碼語言之間幾乎沒...