(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:removelog) op: assign_op.Equal rhs: {(DQ <'/tmp/remove.log'>)} spids: [7] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {(DQ <'Usage: '> ($ Id.VSub_Number '$0') <' [-s] list of files or directories'>)} ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [13 27] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {(DQ <-s>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<shift>})] spids: [49 67] ) ] else_action: [ (command.Simple words: [ {<echo>} { (DQ (command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<date>})) <': '> (${ Id.VSub_Name USER) <': '> ($ Id.VSub_At '$@') ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$removelog')} ) ] do_fork: T ) ] ) (C {<'/bin/rm'>} {(DQ ($ Id.VSub_At '$@'))}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )