(command.CommandList children: [ (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {(/bin) (Id.Lit_Other ':') (/usr/bin) (Id.Lit_Other ':') ($ Id.VSub_DollarName '$PATH') } spids: [109] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:115) ) (C {(export)} {(PATH)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt) op: assign_op.Equal rhs: (word.Empty) spids: [121] ) (assign_pair lhs: (sh_lhs_expr.Name name:dirs) op: assign_op.Equal rhs: (word.Empty) spids: [123] ) (assign_pair lhs: (sh_lhs_expr.Name name:localdirs) op: assign_op.Equal rhs: (word.Empty) spids: [125] ) ] ) (command.ForEach iter_name: arg do_arg_iter: T body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$arg'))} arms: [ (case_arm pat_list: [{(-) (Id.Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:opt) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$opt') (' ') ($ Id.VSub_DollarName '$arg'))} spids: [148] ) ] ) ] spids: [144 146 154 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dirs) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$dirs') (' ') ($ Id.VSub_DollarName '$arg'))} spids: [160] ) ] ) ] spids: [157 158 166 -1] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dirs) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:175) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ Id.VSub_DollarName '$dirs')}) (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/:/ /g' span_id:187))}) ] negated: F ) ] ) ) } spids: [174] ) ] ) (command.Case to_match: {(X) (DQ ($ Id.VSub_DollarName '$dirs'))} arms: [ (case_arm pat_list: [{(X)}] action: [ (command.Sentence child: (C {(echo)} {(DQ ('usage: ') ($ Id.VSub_Number '$0') (' [options] directories ...'))}) terminator: (Token id:Id.Op_Semi val:';' span_id:210) ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:212) arg_word: {(1)} ) ] spids: [200 201 215 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:localdirs) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:221) command_list: (command.CommandList children: [ (C {(find)} {(-H)} {($ Id.VSub_DollarName '$dirs')} {(-fstype)} {(local)} {(-type)} {(d)} {(-prune)} {(-print)} ) ] ) ) } spids: [220] ) ] ) (command.Case to_match: {(X) (DQ ($ Id.VSub_DollarName '$localdirs'))} arms: [ (case_arm pat_list: [{(X)}] action: [ (C {(echo)} { (DQ ($ Id.VSub_Number '$0') (': no local-mounted manual directories found: ') ($ Id.VSub_DollarName '$dirs') ) } ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:266) arg_word: {(1)} ) ] spids: [254 255 269 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (C {(exec)} { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:277) command_list: (command.CommandList children: [(C {(basename)} {($ Id.VSub_Number '$0')} {(.local)})] ) ) } {($ Id.VSub_DollarName '$opt')} {($ Id.VSub_DollarName '$localdirs')} ) ] spids: [272 273 290 -1] ) ] ) ] )