(CommandList children: [ (FuncDef name: usage body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ (' Usage: ') ($ VSub_Number '$0') (' [DOS flags] directory or directories\n') (' Where:\n') (' /D sort by columns\n') (' /H show help for this shell script\n') (' /N show long listing format with filenames on right\n') (' /OD sort by oldest to newest\n') (' /O-D sort by newest to oldest\n') (' /P pause after each screenful of information\n') (' /Q show owner of the file\n') (' /S recursive listing\n') (' /W use wide listing format\n') ) } do_expansion: True here_end: EOF was_filled: T spids: [18] ) (Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[22]) ] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [14] ) spids: [10 13] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:postcmd) op:Equal rhs:{(DQ )} spids:[54])] spids: [54] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:flags) op:Equal rhs:{(DQ )} spids:[58])] spids: [58] ) (While cond: [(C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')})] body: (DoGroup children: [ (Case to_match: {($ VSub_Number '$1')} arms: [ (case_arm pat_list: [{(/D)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:flags) op: Equal rhs: {(DQ ($ VSub_Name '$flags') (' -x'))} spids: [89] ) ] spids: [89] ) ] spids: [85 87 95 16777215] ) (case_arm pat_list: [{(/H)}] action: [(C {(usage)})] spids: [98 100 104 16777215] ) (case_arm pat_list: [{(/) (Lit_Other '[') (NQW) (Lit_Other ']')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:flags) op: Equal rhs: {(DQ ($ VSub_Name '$flags') (' -l'))} spids: [114] ) ] spids: [114] ) ] spids: [107 112 120 16777215] ) (case_arm pat_list: [{(/OD)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:flags) op: Equal rhs: {(DQ ($ VSub_Name '$flags') (' -rt'))} spids: [127] ) ] spids: [127] ) ] spids: [123 125 133 16777215] ) (case_arm pat_list: [{(/O-D)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:flags) op: Equal rhs: {(DQ ($ VSub_Name '$flags') (' -t'))} spids: [140] ) ] spids: [140] ) ] spids: [136 138 146 16777215] ) (case_arm pat_list: [{(/P)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:postcmd) op: Equal rhs: {(DQ (more))} spids: [153] ) ] spids: [153] ) ] spids: [149 151 158 16777215] ) (case_arm pat_list: [{(/S)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:flags) op: Equal rhs: {(DQ ($ VSub_Name '$flags') (' -s'))} spids: [165] ) ] spids: [165] ) ] spids: [161 163 171 16777215] ) (case_arm pat_list:[{(Lit_Other '*')}] spids:[174 176 16777215 186]) ] spids: [78 82 186] ) (C {(shift)}) ] spids: [75 194] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$postcmd'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(ls)} {($ VSub_Name '$flags')} {(DQ ($ VSub_At '$@'))}) (C {($ VSub_Name '$postcmd')}) ] negated: F ) ] spids: [16777215 217] ) ] else_action: [(C {(ls)} {($ VSub_Name '$flags')} {(DQ ($ VSub_At '$@'))})] spids: [232 244] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )