(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PARENT_KILLED='> name:PARENT_KILLED) op: assign_op.Equal rhs: {<no>} spids: [110] ) ] redirects: [] ) (command.ShFunction name: killparent body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName PARENT_KILLED)} {<Id.Lit_Equals '='>} {(DQ <no>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'PARENT_KILLED='> name: PARENT_KILLED ) op: assign_op.Equal rhs: {<yes>} spids: [139] ) ] redirects: [] ) (C {<kill>} {<-9>} {($ Id.VSub_DollarName PPID)}) ] spids: [121 136] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (C {<trap>} {(DQ <killparent>)} {<HUP>} {<INT>} {<TERM>} {<QUIT>} {<TSTP>} {<ABRT>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SCRIPT='> name:SCRIPT) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [174] ) ] redirects: [] ) (C {<shift>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-e>} {($ Id.VSub_DollarName SCRIPT)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {<Id.Lit_Star '*'> <Id.Lit_Star '*'> <Id.Lit_Star '*'> <Id.Lit_Star '*'>} {<Clean>} {<script>} {($ Id.VSub_DollarName SCRIPT)} {<not>} {<found>} {<Id.Lit_Star '*'> <Id.Lit_Star '*'> <Id.Lit_Star '*'> <Id.Lit_Star '*'>} ) (C {<echo>} {(DQ <'**** Press RETURN to close window ****'>)}) (C {<read>}) (C {<kill>} {<-9>} {($ Id.VSub_DollarName PPID)}) ] spids: [180 193] ) ] else_action: [] redirects: [] ) (C {<echo>} { (DQ <'**** Device cleanup for '> ($ Id.VSub_Number 2) <' ****'> <Id.Lit_BadBackslash '\\'> <n>) } ) (C {($ Id.VSub_DollarName SCRIPT)} {(DQ ($ Id.VSub_At '@'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'STAT='> name:STAT) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [256] ) ] redirects: [] ) (C {<echo>} {(DQ <Id.Lit_BadBackslash '\\'> <'n**** Press RETURN to close window ****'>)}) (C {<read>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName STAT)} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<killparent>})] spids: [277 291] ) ] else_action: [] redirects: [] ) ] )