私は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
各ポートは、その物理チェックするために、私は希望state:LinkUpと等しくなければ、エラーを返します。 私は最初の物理的な状態を分離するためにgrepとawqで到着しましたが、各 "ノード"ポートをチェックするためにどのようにforループを作成するのですか?私のようなエラーメッセージを表示したい
ibstat | grep "Physical state" | awk '{ print $3 }'
iはポート番号を分けたい
出力結果のために(forまたはwhileに?):これは私の実際のコードである
「エラーポート2があります」awk
として
'grep'はあなたにそれを伝えない限り、あなたにすべての結果を与えます。コードを表示する。 – pfnuesel
あなたの期待する出力は? – Inian
あなたの答えをありがとう、私は私のメッセージを編集しました – user7379681