亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 4524 | 回復: 11
打印 上一主題 下一主題

循環(huán)打印數(shù)組的問題 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-10-16 21:19 |只看該作者 |倒序瀏覽
本帖最后由 00306 于 2011-10-16 21:21 編輯

有a.txt文件,內(nèi)容為:
  1. 192.168.0.25 /home/key/test1 22 test1
  2. 192.168.0.26  /home/key/test2 33 test2
復制代碼
現(xiàn)在想通過使用數(shù)組的方式去執(zhí)行連接命令
a.sh

  1. #!/bin/bash
  2. for i in $(cat a.txt)
  3. do
  4.       ssh -p ${i[2]}  -i ${i[1]} root@${i[0]}
  5. done
復制代碼
我想得到的結(jié)果是
ssh -p 22 -i /home/key/test1 root@192.168.0.25
ssh -p 33 -i /home/key/test2 root@192.168.0.26

調(diào)試發(fā)現(xiàn)它的結(jié)果是 :

  1. ssh -p 192.168.0.25 -i root@
  2. ssh -p /home/key/test1 -i root@
  3. ssh -p 22 -i root@
  4. ssh -p test1 -i root@
  5. ssh -p 192.168.0.26 -i root@
  6. ssh -p /home/key/test2 -i root@
  7. ssh -p 33  -i root@
  8. ssh -p test2  -i root@
復制代碼
各位高人有沒有什么好辦法?

論壇徽章:
0
2 [報告]
發(fā)表于 2011-10-16 21:45 |只看該作者
#!/bin/bash
while read line
do
        i=($line)
       echo "      ssh -p ${i[2]}  -i ${i[1]} root@${i[0]}"
done < a.txt

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
3 [報告]
發(fā)表于 2011-10-16 21:56 |只看該作者
回復 1# 00306


$ cat a.sh
#!/bin/bash
while read ip id port name
do
     echo "ssh -p $port -i $id root@$ip"
done < a.txt

$ bash a.sh
ssh -p 22 -i /home/key/test1 root@192.168.0.25
ssh -p 33 -i /home/key/test2 root@192.168.0.26

論壇徽章:
0
4 [報告]
發(fā)表于 2011-10-16 22:42 |只看該作者
本帖最后由 00306 于 2011-10-16 23:09 編輯

樓上兩位的都可以運行,只不過都有個相同的問題,就是只循環(huán)一次,用sh -x調(diào)試發(fā)現(xiàn)
執(zhí)行了ssh -p 22 -i /home/key/test1 root@192.168.0.25后,不會再執(zhí)行ssh -p 33 -i /home/key/test2 root@192.168.0.26
例如,我讓它打印這兩臺機器的eth0網(wǎng)卡信息:

  1. [root@mytest ~]# cat a.txt
  2. 192.168.0.25  22  /root/.ssh/test1
  3. 192.168.0.26  33  root/.ssh/test2

  4. [root@mytest ~]# cat test.sh
  5. #!/bin/bash

  6. LIST=/tmp/a.txt
  7. while  read LINE
  8. do       
  9.         i=($LINE)
  10.         ssh -p ${i[1]} -i ${i[2]} root@${i[0]} "ifconfig eth0"
  11. done < $LIST

  12. [root@mytest ~]# sh -x test.sh
  13. + LIST=/tmp/a.txt
  14. + read LINE
  15. + i=($LINE)
  16. + ssh -p 22 -i /root/.ssh/test1 root@192.168.0.25 'ifconfig eth0'
  17. eth0      Link encap:Ethernet  HWaddr 00:24:E8:52:1A:82  
  18.           inet addr:192.168.0.25  Bcast:192.168.0.28  Mask:255.255.255.248
  19.           inet6 addr: fe80::224:e8ff:fe52:1a82/64 Scope:Link
  20.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  21.           RX packets:2012689692 errors:0 dropped:6801 overruns:0 frame:0
  22.           TX packets:2010566271 errors:0 dropped:0 overruns:0 carrier:0
  23.           collisions:0 txqueuelen:1000
  24.           RX bytes:1324175748591 (1.2 TiB)  TX bytes:1014314683136 (944.6 GiB)
  25.           Interrupt:169 Memory:f8000000-f8012100

  26. + read LINE

復制代碼
用echo打印的時候是正常的

論壇徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年紀念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役紀念章
日期:2022-04-24 14:33:24
5 [報告]
發(fā)表于 2011-10-17 01:01 |只看該作者
回復 4# 00306


改成這樣試試:
  1. ssh -p ${i[1]} -i ${i[2]} root@${i[0]} "ifconfig eth0"&
復制代碼

論壇徽章:
1
雙子座
日期:2013-10-17 00:46:45
6 [報告]
發(fā)表于 2011-10-17 01:11 |只看該作者
回復 4# 00306


    執(zhí)行ifconfig后,加個exit試試,可能是你登陸了遠程機器沒退出。

論壇徽章:
0
7 [報告]
發(fā)表于 2011-10-17 01:24 |只看該作者
回復  00306


    執(zhí)行ifconfig后,加個exit試試,可能是你登陸了遠程機器沒退出。
xrzs1986 發(fā)表于 2011-10-17 01:11



在ifconfig eth0后加了exit一樣的,應(yīng)該不是沒退出的問題,而是再次循環(huán)的時候讀到的是空的

論壇徽章:
0
8 [報告]
發(fā)表于 2011-10-17 01:26 |只看該作者
本帖最后由 00306 于 2011-10-17 09:23 編輯
回復  00306


改成這樣試試:
Shell_HAT 發(fā)表于 2011-10-17 01:01


這樣做可以正常運行,但是有沒有不需要放后臺的辦法呢?

論壇徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年紀念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役紀念章
日期:2022-04-24 14:33:24
9 [報告]
發(fā)表于 2011-10-17 09:22 |只看該作者
回復 8# 00306


并發(fā)一般都是這個思路吧

論壇徽章:
0
10 [報告]
發(fā)表于 2011-10-17 09:25 |只看該作者
回復  00306


并發(fā)一般都是這個思路吧
Shell_HAT 發(fā)表于 2011-10-17 09:22


因為我想取到它的運行狀態(tài)是成功還是不成功
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP