(CommandList children: [ (C {(.)} {(/etc/rc.subr)}) (C {(load_rc_config)} {(SQ <XXX>)}) (FuncDef name: usage body: (BraceGroup children: [ (C {(echo)} {(SQ )}) (C {(echo)} {(SQ <'Usage:'>)}) (C {(echo)} { (DQ (BracedVarSub token: <VSub_Number 0> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [113 118] ) (' -e') ) } ) (C {(echo)} { (DQ (BracedVarSub token: <VSub_Number 0> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [126 131] ) (' -R') ) } ) (C {(echo)} { (DQ (BracedVarSub token: <VSub_Number 0> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [139 144] ) (' [-v] -l | -r') ) } ) (C {(echo)} { (DQ (BracedVarSub token: <VSub_Number 0> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [152 157] ) (' [-v] <rc.d script> start|stop|etc.') ) } ) (C {(echo)} { (DQ (BracedVarSub token: <VSub_Number 0> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)}) spids: [165 170] ) (' -h') ) } ) (C {(echo)} {(SQ )}) (C {(echo)} {(SQ <'-e\tShow services that are enabled'>)}) (C {(echo)} {(DQ ('-R\tStop and start enabled ') ($ VSub_Name '$local_startup') (' services'))} ) (C {(echo)} {(DQ ('-l\tList all scripts in /etc/rc.d and ') ($ VSub_Name '$local_startup'))}) (C {(echo)} {(SQ <'-r\tShow the results of boot time rcorder'>)}) (C {(echo)} {(SQ <'-v\tVerbose'>)}) (C {(echo)} {(SQ )}) ] spids: [94] ) spids: [89 93] ) (While cond: [ (Sentence child: (C {(getopts)} {(SQ <ehlrRv>)} {(COMMAND_LINE_ARGUMENT)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Case to_match: {(DQ (${ VSub_Name COMMAND_LINE_ARGUMENT))} arms: [ (case_arm pat_list: [{(e)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLED) op: Equal rhs: {(eopt)} spids: [256] ) ] spids: [256] ) ] spids: [253 254 259 16777215] ) (case_arm pat_list: [{(h)}] action: [ (Sentence child:(C {(usage)}) terminator:<Op_Semi ';'>) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [262 263 273 16777215] ) (case_arm pat_list: [{(l)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:LIST) op:Equal rhs:{(lopt)} spids:[279])] spids: [279] ) ] spids: [276 277 282 16777215] ) (case_arm pat_list: [{(r)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RCORDER) op: Equal rhs: {(ropt)} spids: [288] ) ] spids: [288] ) ] spids: [285 286 291 16777215] ) (case_arm pat_list: [{(R)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESTART) op: Equal rhs: {(Ropt)} spids: [297] ) ] spids: [297] ) ] spids: [294 295 300 16777215] ) (case_arm pat_list: [{(v)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VERBOSE) op: Equal rhs: {(vopt)} spids: [306] ) ] spids: [306] ) ] spids: [303 304 309 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Sentence child:(C {(usage)}) terminator:<Op_Semi ';'>) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [312 313 323 16777215] ) ] spids: [242 250 326] ) ] spids: [239 328] ) ) (C {(shift)} { (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Name '$OPTIND')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [332 341] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$RESTART'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:skip) op: Equal rhs: {(DQ ('-s nostart'))} spids: [360] ) ] spids: [360] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (CommandSubPart command_list: (CommandList children: [(C {(/sbin/sysctl)} {(-n)} {(security.jail.jailed)})] ) left_token: <Left_Backtick '`'> spids: [370 376] ) } {(-eq)} {(1)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:skip) op: Equal rhs: {(DQ ($ VSub_Name '$skip') (' -s nojail'))} spids: [388] ) ] spids: [388] ) ] spids: [16777215 385] ) ] spids: [16777215 395] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$local_startup'))} {(Lit_Other ']')}) (C {(find_local_scripts_new)}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(rcorder)} {(${ VSub_Name skip)} {(${ VSub_Name local_rc)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [425] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [414 427] ) } spids: [413] ) ] spids: [413] ) (ForEach iter_name: file iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(reverse_list)} {(${ VSub_Name files)})] ) left_token: <Left_Backtick '`'> spids: [437 443] ) } ] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(grep)} {(-q)} {(Lit_Other '^') (rcvar)} {($ VSub_Name '$file')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (C {(grep)} {(Lit_Other '^') (Lit_VarLike 'name=')} {($ VSub_Name '$file')} ) ] ) left_token: <Left_Backtick '`'> spids: [466 473] ) } ) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (C {(grep)} {(Lit_Other '^') (rcvar)} {($ VSub_Name '$file')}) ] ) left_token: <Left_Backtick '`'> spids: [478 485] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$rcvar'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(load_rc_config_var)} {(${ VSub_Name name)} {(${ VSub_Name rcvar)} ) ] spids: [16777215 501] ) ] spids: [16777215 515] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(checkyesno)} {($ VSub_Name '$rcvar')}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [522] ) ] ) (C {(run_rc_script)} {(${ VSub_Name file)} {(stop)}) ] ) ] spids: [16777215 461] ) ] spids: [16777215 536] ) ] spids: [446 539] ) spids: [436 444] ) (ForEach iter_name: file iter_words: [{($ VSub_Name '$files')}] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(grep)} {(-q)} {(Lit_Other '^') (rcvar)} {($ VSub_Name '$file')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (C {(grep)} {(Lit_Other '^') (Lit_VarLike 'name=')} {($ VSub_Name '$file')} ) ] ) left_token: <Left_Backtick '`'> spids: [571 578] ) } ) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (C {(grep)} {(Lit_Other '^') (rcvar)} {($ VSub_Name '$file')}) ] ) left_token: <Left_Backtick '`'> spids: [583 590] ) } ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(checkyesno)} {($ VSub_Name '$rcvar')}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [597] ) ] ) (C {(run_rc_script)} {(${ VSub_Name file)} {(start)}) ] ) ] spids: [16777215 566] ) ] spids: [16777215 611] ) ] spids: [551 614] ) spids: [547 549] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 357] ) ] spids: [16777215 622] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$ENABLED'))} {(-o)} {(-n)} {(DQ ($ VSub_Name '$RCORDER'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:skip) op: Equal rhs: {(DQ ('-s nostart'))} spids: [653] ) ] spids: [653] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (CommandSubPart command_list: (CommandList children: [(C {(/sbin/sysctl)} {(-n)} {(security.jail.jailed)})] ) left_token: <Left_Backtick '`'> spids: [663 669] ) } {(-eq)} {(1)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:skip) op: Equal rhs: {(DQ ($ VSub_Name '$skip') (' -s nojail'))} spids: [681] ) ] spids: [681] ) ] spids: [16777215 678] ) ] spids: [16777215 688] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$local_startup'))} {(Lit_Other ']')}) (C {(find_local_scripts_new)}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(rcorder)} {(${ VSub_Name skip)} {(/etc/rc.d/) (Lit_Other '*')} {(${ VSub_Name local_rc)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [721] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [707 723] ) } spids: [706] ) ] spids: [706] ) ] spids: [16777215 646] ) ] spids: [16777215 725] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$ENABLED'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (ForEach iter_name: file iter_words: [{($ VSub_Name '$files')}] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(grep)} {(-q)} {(Lit_Other '^') (rcvar)} {($ VSub_Name '$file')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (C {(grep)} {(Lit_Other '^') (Lit_VarLike 'name=')} {($ VSub_Name '$file')} ) ] ) left_token: <Left_Backtick '`'> spids: [773 780] ) } ) (C {(eval)} { (CommandSubPart command_list: (CommandList children: [ (C {(grep)} {(Lit_Other '^') (rcvar)} {($ VSub_Name '$file')}) ] ) left_token: <Left_Backtick '`'> spids: [785 792] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$rcvar'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(load_rc_config_var)} {(${ VSub_Name name)} {(${ VSub_Name rcvar)} ) ] spids: [16777215 808] ) ] spids: [16777215 822] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(checkyesno)} {($ VSub_Name '$rcvar')}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [829] ) ] ) (C {(echo)} {($ VSub_Name '$file')}) ] ) ] spids: [16777215 768] ) ] spids: [16777215 839] ) ] spids: [753 842] ) spids: [749 751] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 741] ) ] spids: [16777215 849] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$LIST'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (ForEach iter_name: dir iter_words: [{(/etc/rc.d)} {($ VSub_Name '$local_startup')}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$VERBOSE'))} {(Lit_Other ']')}) (C {(echo)} {(DQ ('From ') (${ VSub_Name dir) (':'))}) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-d)} {(${ VSub_Name dir)} {(Lit_Other ']')}) (C {(/bin/ls)} {(-1)} {(${ VSub_Name dir)}) ] ) ] spids: [879 926] ) spids: [873 877] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 865] ) ] spids: [16777215 933] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$RCORDER'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (ForEach iter_name: file iter_words: [{($ VSub_Name '$files')}] do_arg_iter: F body: (DoGroup children: [ (C {(echo)} {($ VSub_Name '$file')}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$VERBOSE'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Case to_match: {(DQ ($ VSub_Name '$file'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (/) (${ VSub_Name early_late_divider)}] action: [ (C {(echo)} {(SQ <'========= Early/Late Divider ========='>)}) ] spids: [994 999 1008 16777215] ) ] spids: [985 991 1011] ) ] spids: [16777215 982] ) ] spids: [16777215 1014] ) ] spids: [961 1017] ) spids: [957 959] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 949] ) ] spids: [16777215 1024] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:script) op: Equal rhs: {($ VSub_Number '$1')} spids: [1043] ) ] spids: [1043] ) (C {(shift)}) ] spids: [16777215 1040] ) ] else_action: [(C {(usage)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})] spids: [1049 1059] ) (C {(cd)} {(/)}) (ForEach iter_name: dir iter_words: [{(/etc/rc.d)} {($ VSub_Name '$local_startup')}] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-x)} {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$script'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$VERBOSE'))} {(Lit_Other ']')}) (C {(echo)} {(DQ ($ VSub_Name '$script') (' is located in ') ($ VSub_Name '$dir'))} ) ] ) (C {(exec)} {(env)} {(-i)} {(Lit_VarLike 'HOME=') (/)} {(Lit_VarLike 'PATH=') (/sbin) (Lit_Other ':') (/bin) (Lit_Other ':') (/usr/sbin) (Lit_Other ':') (/usr/bin) } {($ VSub_Name '$dir') (/) ($ VSub_Name '$script')} {($ VSub_Star '$*')} ) ] spids: [16777215 1095] ) ] spids: [16777215 1144] ) ] spids: [1077 1146] ) spids: [1071 1075] ) (C {(echo)} {(DQ ($ VSub_Name '$script') (' does not exist in /etc/rc.d or the local startup'))}) (C {(echo)} {(DQ ('directories (') (${ VSub_Name local_startup) ('), or is not executable'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] )