0
我开始在bash,我想实现一个脚本来检查的命令数据ibstat Ibstat返回此例如:猛砸分离结果
command ibstat
Ibstat returns this for example:
# ibstat
CA 'mlx4_0'
CA type: MT25418
Number of ports: 2
Firmware version: 2.3.0
Hardware version: a0
Node GUID: 0x0002c9030002fb04
System image GUID: 0x0002c9030002fb07
Port 1:
State: Active
Physical state: LinkUp
Rate: 20
Base lid: 2
LMC: 0
SM lid: 1
Capability mask: 0x02510868
Port GUID: 0x0002c9030002fb05
Port 2:
State: Down
Physical state: Polling
Rate: 10
Base lid: 0
LMC: 0
SM lid: 0
Capability mask: 0x02510868
Port GUID: 0x0002c9030002fb06
我想对于每一个端口,以检查身体状态:等于LinkUp,否则我返回一个错误。 我用grep和awq来隔离第一个物理状态,但是我们如何做一个for循环来检查每个“节点”端口?
这是我的实际代码:(?在或同时)
ibstat | grep "Physical state" | awk '{ print $3 }'
我想单独端口号
对于输出结果,我想象错误消息: “错误端口2是不衔接”
'grep'会给你所有的结果,除非你不告诉它。显示你的代码。 – pfnuesel
您的预期输出是什么。 – Inian
感谢您的回答,我编辑了我的消息 – user7379681