(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PI) op: assign_op.Equal rhs: {<.postinstall>} spids: [4] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMP) op: assign_op.Equal rhs: {<'/usr/tmp'>} spids: [7] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {<'/bin'> <Id.Lit_Colon ':'> <'/usr/bin'> <Id.Lit_Colon ':'> <'/usr/local/bin'>} spids: [10] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Pound '$#'))} {<-ne>} {<1>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'Usage: '> ($ Id.VSub_Number '$0') <' <package file>'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [18 32] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dir) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>}))} spids: [51] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <->)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:f) op: assign_op.Equal rhs: {(DQ )} spids: [76] ) ] ) ] spids: [58 74] ) ] else_action: [ (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list: [{<'/'> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:f) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [95] ) ] ) ] spids: [91 93 100 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:f) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$dir') <'/'> ($ Id.VSub_Number '$1'))} spids: [106] ) ] ) ] spids: [103 104 113 -1] ) ] ) ] ) (C {<cd>} {($ Id.VSub_DollarName '$TMP')}) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$PI')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName '$PI')} {<Id.Lit_RBracket ']'>}) ] ) action: [ (C {<echo>} { (DQ ($ Id.VSub_DollarName '$PI') <' is in '> ($ Id.VSub_DollarName '$TMP') <', please remove it first.'> ) } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [132 142] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {($ Id.VSub_DollarName '$f')} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'Couldn\'t find package '> ($ Id.VSub_DollarName '$f') <.>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [161 173] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Pipeline children: [ (command.Simple words: [{<bunzip2>} {<--help>}] redirects: [ (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) (command.Simple words: [{<grep>} {<usage>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) ] negated: F ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BUNZIP2) op: assign_op.Equal rhs: {<bunzip2>} spids: [214] ) ] ) ] spids: [194 212] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BUNZIP2) op: assign_op.Equal rhs: {<smallbunzip2>} spids: [219] ) ] ) ] ) (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName '$f')}) (C {($ Id.VSub_DollarName '$BUNZIP2')}) (C {<pax>} {<-r>} {<-p>} {<e>}) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName '$PI')} {<Id.Lit_RBracket ']'>}) ] ) action: [ (C {<sh>} {<-e>} {($ Id.VSub_DollarName '$PI')}) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$PI')}) ] spids: [243 253] ) ] ) (command.ForEach iter_names: [d] iterable: (for_iter.Words words: [{<'/usr/man'>} {<'/usr/local/man'>} {<'/usr/gnu/man'>} {<'/usr/X11R6/man'>}] ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName '$d'))} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {<makewhatis>} {($ Id.VSub_DollarName '$d')})] spids: [288 301] ) ] ) ] ) ) ] )