(CommandList children: [ (AndOr children: [(C {(Lit_Other '[')} {(-f)} {(/proc/modules)} {(Lit_Other ']')}) (C {(exit)} {(0)})] op_id: Op_DPipe ) (AndOr children: [(C {(Lit_Other '[')} {(-x)} {(/sbin/modprobe)} {(Lit_Other ']')}) (C {(exit)} {(0)})] op_id: Op_DPipe ) (AndOr children: [ (C {(Lit_Other '[')} {(-f)} {(/etc/default/rcS)} {(Lit_Other ']')}) (C {(.)} {(/etc/default/rcS)}) ] op_id: Op_DAmp ) (C {(.)} {(/lib/lsb/init-functions)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:PATH) op:Equal rhs:{(SQ <'/sbin:/bin'>)} spids:[88])] spids: [88] ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(start)}] action: [ (If arms: [ (if_arm cond: [(Sentence child:(C {(init_is_upstart)}) terminator:<Op_Semi ';'>)] action: [(C {(exit)} {(1)})] spids: [16777215 112] ) ] spids: [16777215 120] ) ] spids: [103 104 123 16777215] ) (case_arm pat_list: [{(stop)} {(restart)} {(reload)} {(force-reload)}] action: [ (C {(log_warning_msg)} {(DQ ("Action '") ($ VSub_Number '$1') ("' is meaningless for this init script"))} ) (C {(exit)} {(0)}) ] spids: [127 134 151 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(log_success_msg)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' start'))}) (C {(exit)} {(1)}) ] spids: [155 156 16777215 172] ) ] spids: [94 100 172] ) (FuncDef name: load_module body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:module) op:Equal spids:[184]) (assign_pair lhs:(LhsName name:args) op:Equal spids:[186]) ] spids: [182] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:module) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [189] ) ] spids: [189] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:args) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [195] ) ] spids: [195] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$VERBOSE'))} {(KW_Bang '!') (Lit_Other '=')} {(no)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_action_msg)} {(DQ ('Loading kernel module ') ($ VSub_Name '$module'))}) (AndOr children: [ (C {(modprobe)} {($ VSub_Name '$module')} {($ VSub_Name '$args')}) (C {(true)}) ] op_id: Op_DPipe ) ] spids: [16777215 218] ) ] else_action: [ (AndOr children: [ (SimpleCommand words: [{(modprobe)} {($ VSub_Name '$module')} {($ VSub_Name '$args')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [249] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [253] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) ] spids: [240 261] ) ] spids: [179] ) spids: [175 178] ) (FuncDef name: modules_files body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:modules_load_dirs) op: Equal rhs: { (SQ < '/etc/modules-load.d /run/modules-load.d /usr/local/lib/modules-load.d /usr/lib/modules-load.d /lib/modules-load.d' > ) } spids: [275] ) ] spids: [273] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:processed) op: Equal rhs: {(SQ <' '>)} spids: [283] ) ] spids: [281] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:add_etc_modules) op: Equal rhs: {(true)} spids: [291] ) ] spids: [289] ) (ForEach iter_name: dir iter_words: [{($ VSub_Name '$modules_load_dirs')}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(Lit_Other '[')} {(-d)} {($ VSub_Name '$dir')} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Continue continue>) ] op_id: Op_DPipe ) (ForEach iter_name: file iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (SimpleCommand words: [ {(run-parts)} {(--list)} {(--regex) (Lit_Other '=') (SQ <'\\.conf$'>)} {($ VSub_Name '$dir')} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [340] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) ] ) left_token: <Left_CommandSub '$('> spids: [327 347] ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:base) op: Equal rhs: { (BracedVarSub token: <VSub_Name file> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [356 361] ) } spids: [355] ) ] spids: [353] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(echo)} {(-n)} {(DQ ($ VSub_Name '$processed'))}) (C {(grep)} {(-qF)} {(DQ (' ') ($ VSub_Name '$base') (' '))}) ] negated: False ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [16777215 387] ) ] spids: [16777215 393] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$add_etc_modules'))} {(-a)} {(-L)} {($ VSub_Name '$file')} {(-a)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(readlink)} {(-f)} {($ VSub_Name '$file')}) ] ) left_token: <Left_CommandSub '$('> spids: [415 421] ) ) } {(Lit_Other '=')} {(/etc/modules)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:add_etc_modules) op: Equal rhs: {(SQ )} spids: [434] ) ] spids: [434] ) ] spids: [16777215 431] ) ] spids: [16777215 437] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:processed) op: Equal rhs: {(DQ ($ VSub_Name '$processed') ($ VSub_Name '$base') (' '))} spids: [440] ) ] spids: [440] ) (C {(echo)} {($ VSub_Name '$file')}) ] spids: [350 453] ) spids: [326 348] ) ] spids: [305 456] ) spids: [301 303] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$add_etc_modules'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(/etc/modules)})] spids: [16777215 471] ) ] spids: [16777215 479] ) ] spids: [270] ) spids: [266 269] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$VERBOSE'))} {(Lit_Other '=')} {(no)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(log_action_begin_msg)} {(SQ <'Loading kernel modules'>)})] spids: [16777215 499] ) ] spids: [16777215 508] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(modules_files)})]) left_token: <Left_CommandSub '$('> spids: [512 514] ) } spids: [511] ) ] spids: [511] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$files'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(grep)} {(-h)} {(SQ <'^[^#]'>)} {($ VSub_Name '$files')}) (While cond: [(Sentence child:(C {(read)} {(module)} {(args)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$module'))} {(Lit_Other ']')}) (ControlFlow token: <ControlFlow_Continue continue> ) ] op_id: Op_DPipe ) (C {(load_module)} {(DQ ($ VSub_Name '$module'))} {(DQ ($ VSub_Name '$args'))}) ] spids: [553 580] ) ) ] negated: False ) ] spids: [16777215 528] ) ] spids: [16777215 582] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$VERBOSE'))} {(Lit_Other '=')} {(no)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(log_action_end_msg)} {(0)})] spids: [16777215 600] ) ] spids: [16777215 607] ) ] )