(command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ ($ Id.VSub_DollarName '$BASH'))}) (C {(test)} {(-z)} {(DQ ($ Id.VSub_DollarName '$POSIXLY_CORRECT'))}) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:29) ) ] action: [(C {(true)})] spids: [10 31] ) (if_arm cond: [ (command.Sentence child: (command.Simple words: [{(type)} {(bash)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:46) fd: -1 arg_word: {(/dev/null)} ) (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:49) fd: 2 arg_word: {(1)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:51) ) ] action: [ (C {(unset)} {(POSIXLY_CORRECT)}) (C {(exec)} {(bash)} {(DQ ($ Id.VSub_Number '$0'))} {(DQ ($ Id.VSub_At '$@'))}) ] spids: [40 53] ) ] else_action: [ (C {(echo)} { (SQ (Token id: Id.Lit_Chars val: '1..0 #SKIP skipping bash completion tests; bash not available' span_id: 83 ) ) } ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:87) arg_word: {(0)} ) ] ) (C {(.)} {(./test-lib.sh)}) ] )