Chinaunix首页 | 论坛 | 博客
  • 博客访问: 343718
  • 博文数量: 52
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 577
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-27 14:21
个人简介

知道自己该干嘛,知道自己能干嘛

文章分类

全部博文(52)

文章存档

2019年(1)

2018年(8)

2017年(2)

2016年(11)

2015年(3)

2014年(10)

2013年(17)

我的朋友

分类: 系统运维

2017-08-31 10:29:12


             一般在bash中,我们保存对象为数组基本上是 array=($(commnad)), 但是如果我们想保存为关联数组,如何操作呢?

             root@com:/tmp# ps -ef | awk 'BEGIN{FS="[ ._-]+"}/srv.[m]esspower/{printf "[%s.%s]=%s ",$12,$13,$18}'
             [1.hongkong]=5540 [1.california]=5550 [1.tokoy]=5560 [1.singapore]=5570 [1.seoul]=5580 [2.hongkong]=5541
          
             root@com:/tmp# bash assArray.sh 
             2.hongkong:5541
             1.california:5550
             1.singapore:5570
             1.hongkong:5540
             1.tokoy:5560
             1.seoul:5580

             root@com:/tmp# cat assArray.sh 
             #!/bin/bash

             declare -A assArray
         
             eval assArray=($(ps -ef | awk 'BEGIN{FS="[ ._-]+"}/srv.[m]esspower/{printf "[%s.%s]=%s ",$12,$13,$18}'))

             for key in  ${!assArray[@]}
                do
                        echo "${key}:${assArray[${key}]}"
             done


阅读(844) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~