(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PATH spids:[93]) op: Equal rhs: {(/bin) (Lit_Other ':') (/usr/bin)} spids: [93] ) ] spids: [93] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-r)} {(/etc/defaults/rc.conf)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(.)} {(/etc/defaults/rc.conf)}) (command.SimpleCommand words: [{(source_rc_confs)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] spids: [16777215 116] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-r)} {(/etc/rc.conf)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(.)} {(/etc/rc.conf)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] spids: [129 140] ) ] spids: [16777215 150] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(/sbin/sysctl)} {(-n)} {(security.jail.jailed)})] ) left_token: <Left_CommandSub '$('> spids: [155 161] ) } {(Lit_Other '=')} {(0)} {(Lit_Other ']')} ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] ) (command.Case to_match: {(${ VSub_Name entropy_dir)} arms: [ (case_arm pat_list: [{(Lit_Other '[') (Nn) (Lit_Other ']') (Lit_Other '[') (Oo) (Lit_Other ']')}] action: [(command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})] spids: [184 190 198 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:entropy_dir spids:[204]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name entropy_dir> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonHyphen arg_word: {(Lit_Slash /) (var) (Lit_Slash /) (db) (Lit_Slash /) (entropy)} ) spids: [205 214] ) } spids: [204] ) ] spids: [204] ) ] spids: [200 201 217 16777215] ) ] spids: [176 182 219] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:entropy_save_sz spids:[222]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name entropy_save_sz> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(4096)}) spids: [223 227] ) } spids: [222] ) ] spids: [222] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:entropy_save_num spids:[229]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name entropy_save_num> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(8)}) spids: [230 234] ) } spids: [229] ) ] spids: [229] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ (${ VSub_Name entropy_dir))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(install)} {(-d)} {(-o)} {(operator)} {(-g)} {(operator)} {(-m)} {(0700)} {(DQ (${ VSub_Name entropy_dir))} ) (command.BraceGroup children: [ (command.Sentence child: (C {(logger)} {(-is)} {(-t)} {(DQ ($ VSub_Number '$0'))} {(The)} {(entropy)} {(directory)} {(DQ (${ VSub_Name entropy_dir))} {(does)} {(not)} {(exist) (Lit_Comma ',')} {(and)} {(cannot)} {(be)} {(created.)} {(Therefore)} {(no)} {(entropy)} {(can)} {(be)} {(saved.)} ) terminator: <Op_Semi ';'> ) (command.Sentence child: (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) terminator: <Op_Semi ';'> ) ] spids: [281] ) ] ) ] spids: [16777215 254] ) ] spids: [16777215 345] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(cd)} {(DQ (${ VSub_Name entropy_dir))}) (command.BraceGroup children: [ (command.Sentence child: (C {(logger)} {(-is)} {(-t)} {(DQ ($ VSub_Number '$0'))} {(Cannot)} {(cd)} {(to)} {(the)} {(entropy)} {(directory) (Lit_Other ':')} {(DQ (${ VSub_Name entropy_dir)) (.)} {(Entropy)} {(file)} {(rotation)} {(is)} {(aborted.)} ) terminator: <Op_Semi ';'> ) (command.Sentence child: (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) terminator: <Op_Semi ';'> ) ] spids: [358] ) ] ) (command.ForEach iter_name: f iter_words: [{(saved-entropy.) (Lit_Other '*')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ VSub_Name f))} arms: [ (case_arm pat_list: [ {(saved-entropy.) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\*'>)} ] action: [(command.ControlFlow token:<ControlFlow_Continue continue>)] spids: [435 437 441 16777215] ) ] spids: [425 433 443] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} { (word_part.BracedVarSub token: <VSub_Name f> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {(saved-entropy) (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\.'> ) } ) spids: [451 456] ) } {(-ge)} {(${ VSub_Name entropy_save_num)} {(Lit_Other ']')} ) (C {(unlink)} {(${ VSub_Name f)}) ] ) ] spids: [422 474] ) spids: [417 420] ) (C {(umask)} {(377)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:n spids:[482]) op: Equal rhs: { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Minus left: (arith_expr.ArithWord w:{(${ VSub_Name entropy_save_num)}) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [483 494] ) } spids: [482] ) ] spids: [482] ) (command.WhileUntil keyword: <KW_While while> cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(${ VSub_Name n)} {(-ge)} {(1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ (saved-entropy.) (${ VSub_Name n))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(mv)} {(DQ (saved-entropy.) (${ VSub_Name n))} { (DQ (saved-entropy.) (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithWord w:{(${ VSub_Name n)}) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [544 555] ) ) } ) ] spids: [16777215 530] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ (saved-entropy.) (${ VSub_Name n))} {(-o)} {(-L)} {(DQ (saved-entropy.) (${ VSub_Name n))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(logger)} {(-is)} {(-t)} {(DQ ($ VSub_Number '$0'))} {(DQ (${ VSub_Name entropy_dir) (/saved-entropy.) (${ VSub_Name n))} {(is)} {(not)} {(a)} {(regular)} {(file) (Lit_Comma ',')} {(and)} {(so)} {(it)} {(will)} {(not)} {(be)} {(rotated.)} {(Entropy)} {(file)} {(rotation)} {(is)} {(aborted.)} ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [559 586] ) ] spids: [16777215 654] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:n spids:[657]) op: Equal rhs: { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Minus left: (arith_expr.ArithWord w:{(${ VSub_Name n)}) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [658 669] ) } spids: [657] ) ] spids: [657] ) ] spids: [511 671] ) ) (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (/dev/random)} {(Lit_VarLike 'of=') (saved-entropy.1)} {(Lit_VarLike 'bs=') (${ VSub_Name entropy_save_sz)} {(Lit_VarLike 'count=') (1)} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )