shell输出的保存

想在SHELL中把一个命令的输出保存在一个变量中,这样就可以一次调用,多次使用结果。但出现麻烦了。

比如想统计某一时刻网口数据包收发的情况,用ifconfig+grep过滤需要分别两次,但此时RXTX都已经改变。如果用outbuf=`ifconfig`保存你会发现echo $outbuf变成这样了

eth0 Link encap:Ethernet HWaddr 00:0c:29:66:1a:2d inet addr:192.168.95.128 Bcast:192.168.95.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe66:1a2d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:728045 errors:0 dropped:0 overruns:0 frame:0 TX packets:754529 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:135205752 (135.2 MB) TX bytes:251721983 (251.7 MB) Interrupt:19 Base address:0x2024 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:104 errors:0 dropped:0 overruns:0 frame:0 TX packets:104 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:8900 (8.9 KB) TX bytes:8900 (8.9 KB)

这可不是我想要的。

通过反复试验,可以这样来保存:

outbuf="`ifconfig eth0`"

echo "$outbuf"

注意上面的"号哦。得到结果为:

eth0      Link encap:Ethernet  HWaddr 00:0c:29:66:1a:2d 

          inet addr:192.168.95.128  Bcast:192.168.95.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe66:1a2d/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:728023 errors:0 dropped:0 overruns:0 frame:0

          TX packets:754513 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:135203758 (135.2 MB)  TX bytes:251719335 (251.7 MB)

          Interrupt:19 Base address:0x2024

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值