(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: [-1 112] ) ] spids: [-1 120] ) ] spids: [103 104 123 -1] ) (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 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(log_success_msg)} {(DQ ("Usage: ") ($ VSub_Number "$0") (" start"))}) (C {(exit)} {(1)}) ] spids: [155 156 -1 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: [-1 218] ) ] else_action: [ (AndOr children: [ (SimpleCommand words: [{(modprobe)} {($ VSub_Name "$module")} {($ VSub_Name "$args")}] redirects: [ (Redir op_id: Redir_Great fd: -1 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: [-1 387] ) ] spids: [-1 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: [-1 431] ) ] spids: [-1 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: [-1 471] ) ] spids: [-1 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: [-1 499] ) ] spids: [-1 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: [-1 528] ) ] spids: [-1 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: [-1 600] ) ] spids: [-1 607] ) ] )