(command.CommandList children: [ (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 ':') (/sbin) (Id.Lit_Other ':') (/usr/sbin) } spids: [52] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DESC) op: assign_op.Equal rhs: {(DQ ('cron daemon'))} spids: [61] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NAME) op: assign_op.Equal rhs: {(cron)} spids: [66] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DAEMON) op: assign_op.Equal rhs: {(/usr/sbin/cron)} spids: [69] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PIDFILE) op: assign_op.Equal rhs: {(/var/run/crond.pid)} spids: [72] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SCRIPTNAME) op: assign_op.Equal rhs: {(/etc/init.d/) (DQ ($ Id.VSub_DollarName '$NAME'))} spids: [75] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(test)} {(-f)} {($ Id.VSub_DollarName '$DAEMON')}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:90) arg_word: {(0)} ) ] ) (C {(.)} {(/lib/lsb/init-functions)}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(Id.Lit_LBracket '[')} {(-r)} {(/etc/default/cron)} {(Id.Lit_RBracket ']')}) (C {(.)} {(/etc/default/cron)}) ] ) (command.ShFunction name: parse_environment body: (command.BraceGroup children: [ (command.ForEach iter_name: ENV_FILE iter_words: [{(/etc/environment)} {(/etc/default/locale)}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(Id.Lit_LBracket '[')} {(-r)} {(DQ ($ Id.VSub_DollarName '$ENV_FILE'))} {(Id.Lit_RBracket ']')} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Continue val:continue span_id:168) ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(Id.Lit_LBracket '[')} {(-s)} {(DQ ($ Id.VSub_DollarName '$ENV_FILE'))} {(Id.Lit_RBracket ']')} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Continue val:continue span_id:183) ) ] ) (command.ForEach iter_name: var iter_words: [{(LANG)} {(LANGUAGE)} {(LC_ALL)} {(LC_CTYPE)}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:value) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:206) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(egrep)} {(DQ ('^') (${ Id.VSub_Name var) ('='))} {(DQ ($ Id.VSub_DollarName '$ENV_FILE'))} ) (C {(tail)} {(-n1)}) (C {(cut)} {(-d) (Id.Lit_Equals '=')} {(-f2)}) ] negated: F ) ] ) ) } spids: [205] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$value'))} {(Id.Lit_RBracket ']')} ) (C {(eval)} {(export)} {($ Id.VSub_DollarName '$var') (Id.Lit_Equals '=') ($ Id.VSub_DollarName '$value') } ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$value'))} {(Id.Lit_RBracket ']')} ) (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$ENV_FILE'))} {(Id.Lit_Equals '=')} {(/etc/environment)} {(Id.Lit_RBracket ']')} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:287) ) ] action: [ (C {(log_warning_msg)} { (DQ ( '/etc/environment has been deprecated for locale information; use /etc/default/locale for ' ) ($ Id.VSub_DollarName '$var') ('=') ($ Id.VSub_DollarName '$value') (' instead') ) } ) ] spids: [262 289] ) ] ) ] ) ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ ($ Id.VSub_DollarName '$TZ'))} {(-a)} {(-e)} {(/etc/timezone)} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:333) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TZ) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:339) command_list: (command.CommandList children: [(C {(cat)} {(/etc/timezone)})] ) ) } spids: [338] ) ] ) ] spids: [316 335] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$READ_ENV'))} {(Id.Lit_Equals '=')} {(DQ (yes))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:373) ) ] action: [(C {(parse_environment)})] spids: [357 375] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(start)}] action: [ (C {(log_daemon_msg)} {(DQ ('Starting periodic command scheduler'))} {(DQ (cron))}) (C {(start_daemon)} {(-p)} {($ Id.VSub_DollarName '$PIDFILE')} {($ Id.VSub_DollarName '$DAEMON')} {($ Id.VSub_DollarName '$EXTRA_OPTS')} ) (C {(log_end_msg)} {($ Id.VSub_QMark '$?')}) ] spids: [392 393 422 -1] ) (case_arm pat_list: [{(stop)}] action: [ (C {(log_daemon_msg)} {(DQ ('Stopping periodic command scheduler'))} {(DQ (cron))}) (C {(killproc)} {(-p)} {($ Id.VSub_DollarName '$PIDFILE')} {($ Id.VSub_DollarName '$DAEMON')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RETVAL) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [447] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$RETVAL')} {(-eq)} {(0)} {(Id.Lit_RBracket ']')} ) (C {(Id.Lit_LBracket '[')} {(-e)} {(DQ ($ Id.VSub_DollarName '$PIDFILE'))} {(Id.Lit_RBracket ']')} ) (C {(rm)} {(-f)} {($ Id.VSub_DollarName '$PIDFILE')}) ] ) (C {(log_end_msg)} {($ Id.VSub_DollarName '$RETVAL')}) ] spids: [424 425 487 -1] ) (case_arm pat_list: [{(restart)}] action: [ (C {(log_daemon_msg)} {(DQ ('Restarting periodic command scheduler'))} {(DQ (cron))}) (C {($ Id.VSub_Number '$0')} {(stop)}) (C {($ Id.VSub_Number '$0')} {(start)}) ] spids: [489 490 514 -1] ) (case_arm pat_list: [{(reload)} {(force-reload)}] action: [ (C {(log_daemon_msg)} {(DQ ('Reloading configuration files for periodic command scheduler'))} {(DQ (cron))} ) (C {(log_end_msg)} {(0)}) ] spids: [516 519 541 -1] ) (case_arm pat_list: [{(status)}] action: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {(status_of_proc)} {(-p)} {($ Id.VSub_DollarName '$PIDFILE')} {($ Id.VSub_DollarName '$DAEMON')} {($ Id.VSub_DollarName '$NAME')} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:559) arg_word: {(0)} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:565) arg_word: {($ Id.VSub_QMark '$?')} ) ] ) ] spids: [543 544 570 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (C {(log_action_msg)} {(DQ ('Usage: /etc/init.d/cron {start|stop|status|restart|reload|force-reload}'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:582) arg_word: {(2)} ) ] spids: [572 573 587 -1] ) ] ) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:591) arg_word:{(0)}) ] )