當前位置:首頁 » 編程軟體 » shell腳本多線程for

shell腳本多線程for

發布時間: 2022-02-13 03:53:57

Ⅰ shell腳本for循環中如何調用別的程序

把你的.C文件編譯成可執行文件,比如你將hello.c編譯成文件名為hello的可執行文件,且該可執行文件在目錄/usr/bin下,你就可以這么來重復調用該程序:
#!/bin/bash
i=1
for((i=1;i<=300;i++));do
/usr/bin/hello #文件路徑不限
done

試試,應該可以!

Ⅱ shell腳本裡面for循環一個特殊用法誰知道是怎麼用的,如下代碼中for var do 這種結構

for var
沒有in的 for語句,等於for var in "$@",表示將所有命令行參數依次賦值給變數var,執行for中語句
如果這樣調用test函數
test a.txt b.txt
則 for中$var的值依次是a.txt , b.txt

Ⅲ 關於linux shell腳本中for循環的問題

你的變數指定的有問題。你可以這么寫:
#!/bin/bash
for i in $( seq 1 100 )
do
echo $i
done

Ⅳ unix shell腳本寫一個for循環,比較急!!!

#! /bin/bash
for i in `seq 1 100`; do
echo file$i
touch file$i
done

Ⅳ shell腳本for循環如何表達步長

a="10 9 8 7 6 5 4 3 2 1" --- 可設置其他數字,此處僅舉例

for b in ${a}
do
##代碼
done

Ⅵ shell腳本如何多線程並發

分享一個在Linux下模擬多線程的並發腳本,使用這個腳本可以同時批量在定義數量的伺服器上執行相關命令,比起普通for/while循環只能順序一條一條執行的效率高非常多,在管理大批伺服器時非常的實用。
以下腳本功能是通過scp(也可選rsync)向上千台伺服器傳更新包,腳本運行後同時在後台有50個scp進程向伺服器傳包。
#!/bin/bash
ip=`cat iplist.txt|grep -v "#"|awk '{print $1}'` #過濾伺服器IP
dir='/usr/local/src' #目標路徑

thead_num=50 #自定義並發數,根據自身伺服器性能或應用調整大小,開始千萬別定義太大,避免管理機宕機
tmp_fifo_file="/tmp/$$.fifo" #以進程ID號命名管道文件
mkfifo $tmp_fifo_file #創建臨時管道文件
exec 4<>$tmp_fifo_file #以讀寫方式打開tmp_fifo_file管道文件,文件描述符為4,也可以取3-9任意描述符
rm -f $tmp_fifo_file #刪除臨時管道文件,也可不刪除
for ((i=0;i<$thead_num;i++)) #利用for循環向管道中輸入並發數量的空行
do
echo "" #輸出空行
done >&4 #輸出重導向到定義的文件描述符4上

for i in $ip #循環所有要執行的伺服器
do
read -u4 #從管道中讀取行,每次一行,所有行讀取完畢後執行掛起,直到管道有空閑的行
{
scp -P 1000 $1 $i:$dir #所有要批量執行的命令都放在大括弧內,scp是一個簡單實例,可替換任意其他命令及命令組,1000為伺服器端的埠
sleep 3 #暫停3秒,給系統緩沖時間,達到限制並發進程數量
echo "" >&4 #再寫入一個空行,使掛起的循環繼續執行
}& #放入後台執行
done
wait #等待所有後台進程執行完成
exec 4>&- #刪除文件描述符
exit 0

Ⅶ 關於shell腳本的for循環問題

數組和字元串的區別
[root@localhost ~]# LINE=`wc -l /etc/passwd|cut -d ' ' -f1`
[root@localhost ~]# for i in {1..$LINE};do echo $i ;done
{1..38}
[root@localhost ~]# for i in {1..38};do echo $i ;done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

Ⅷ shell腳本中for循環結果echo輸出重復

你這段腳本的問題在於ssh執行後ssh就結束了,count和echo都是在本機執行。可以把count里的命令直接放在ssh中去執行,也不用echo "$count"了。

ssh這段可修改為:

ssh$i".~/.bash_profile&&ls~/Data/dbc/$ACCT_CYCLE/dat/admin/|wc-l"

Ⅸ 關於一個多線程shell腳本的函數調用問題

你這個是不行的 !
首先, shell 沒有多線程的說法.
其實, 你這個偽多進程.
然後, 每個 & 產生一個shell子進程,每個子進程都是獨立的.
再次, 子進程的變數父進程無法獲取到.
所以,你最後 $d , $n 的值都不會變,都是 0 .

Ⅹ shell腳本for循環

原因:
1. 因為你所處理的文件換行符是dos格式的」
」 ;

2. 可以使用cat -v 文件名 來查看換行符是否是,如果是上述的,則行結尾會是^m?需要轉換成linux/unix格式的」\n」;
3. 具體轉換辦法就是轉換換行符 。

可以用sed命令處理一下文件,命令如下:?
1. sed 『s/\r//』 原文件 >轉換後文件 ;
2. sed 命令的參數中 」代表決定引用參數,不允許參數中的值讓shell解釋,s代表替換 /後面跟的是被替換的內容,後面的//代表替換後的內容為空 ;

3. 推薦使用EditPlus或者UltraEdit,使用這些文本編輯工具,在保存時,可以選擇保存的文字編碼類型,比如選擇UNIX格式換行符;
4. 我比較喜歡EditPlus的join lines功能,把多行的值變成一個邏輯行,便於寫到shell腳本中作為循環的變數。

熱點內容
演算法工作原理 發布:2025-01-12 20:36:38 瀏覽:24
網路訪問監控軟體 發布:2025-01-12 20:26:57 瀏覽:465
養羊啦源碼 發布:2025-01-12 20:25:48 瀏覽:570
軒逸朗逸哪個配置最好 發布:2025-01-12 20:10:00 瀏覽:49
主板存儲器分 發布:2025-01-12 20:04:46 瀏覽:376
資料庫邏輯運算 發布:2025-01-12 20:03:54 瀏覽:571
javawindows伺服器搭建 發布:2025-01-12 19:59:37 瀏覽:570
linux關閉iptables 發布:2025-01-12 19:58:49 瀏覽:150
伺服器電腦名字改了影響資料庫嗎 發布:2025-01-12 19:58:44 瀏覽:652
手機存儲優化 發布:2025-01-12 19:58:43 瀏覽:356