(List (= scope= flags=0 words=[] bindings=[('COUNT', {[LIT_CHARS 0]})]) (If (DBracket {B! {B1 UNARY_STRING_z {[DQ [VarSub 1]]}}}) (= scope= flags=0 words=[] bindings=[('WANTED', {[DQ [VarSub 1]]})]) ) (If (DBracket {B1 UNARY_FILE_f {[LIT_CHARS cluster.txt]}}) (List (While (Com {[LIT_CHARS read]} {[LIT_CHARS HOSTNAME]} {[LIT_CHARS MACADDR]} {[LIT_CHARS IPADDR]} {[LIT_CHARS ILOIPADDR]} {[LIT_CHARS DOMAIN]} {[LIT_CHARS ROLE]} ) (List (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub HOSTNAME]]} {[LIT_CHARS end]}}) (Com {[LIT_CHARS continue]} ) ) (If (DBracket {B? LOGICAL_BINARY_OR {B1 UNARY_STRING_z {[DQ [VarSub WANTED]]}} {B? LOGICAL_BINARY_OR {B2 BINARY_STRING_EQUAL {[DQ [VarSub WANTED]]} {[LIT_CHARS all]}} {B? LOGICAL_BINARY_OR {B2 BINARY_STRING_EQUAL {[DQ [VarSub WANTED]]} {[DQ [VarSub ROLE]]}} {B? LOGICAL_BINARY_OR {B2 BINARY_STRING_EQUAL {[DQ [VarSub WANTED]]} {[DQ [LIT_CHARS IPADDR]]}} {B2 BINARY_STRING_EQUAL {[DQ [VarSub WANTED]]} {[DQ [VarSub HOSTNAME]]}}}}}}) (= scope= flags=0 words=[] bindings=[('ALLHOSTS', {[DQ [VarSub ALLHOSTS][LIT_CHARS " "][VarSub IPADDR]]})]) ) ) ) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub ALLHOSTS]]}}) (Com {[LIT_CHARS exit]} ) ) (If (DBracket {B1 UNARY_STRING_z {[ComSub (Com {[LIT_CHARS which]} {[LIT_CHARS fping]})]}}) (For IP [{[VarSub ALLHOSTS]}]) (List (= scope= flags=0 words=[] bindings=[('UP', {[ComSub (Pipeline (Com {[LIT_CHARS ping]} {[LIT_CHARS -c]} {[LIT_CHARS 1]} {[VarSub IP]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS ttl]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -f4]} {[LIT_CHARS -d] [DQ [LIT_CHARS " "]]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -f1]} {[LIT_CHARS -d] [DQ [LIT_CHARS ":"]]}) )]})]) (If (DBracket {B! {B1 UNARY_STRING_z {[DQ [VarSub UP]]}}}) (List (= scope= flags=0 words=[] bindings=[('COUNT', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub COUNT]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (Com {[LIT_CHARS echo]} {[VarSub UP]} {[VarSub ROLE]} ) ) ) ) ) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('UP', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS fping]} {[LIT_CHARS -aq]} {[VarSub ALLHOSTS]})]})]) (For H [{[VarSub UP]}]) (List (= scope= flags=0 words=[] bindings=[('COUNT', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub COUNT]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (Com {[LIT_CHARS echo]} {[VarSub H]} ) ) ) ) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub COUNT][LIT_CHARS " hosts up"]]} ) ) (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Warning : no cluster definition (cluster.txt) found"]]} ) ) )