(command.CommandList children: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PATH) op: Equal rhs: {(/bin) (Lit_Other ':') (/usr/bin) (Lit_Other ':') (/sbin) (Lit_Other ':') (/usr/sbin)} ) ] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DESC) op:Equal rhs:{(DQ ('cron daemon'))})] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:NAME) op:Equal rhs:{(cron)})] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DAEMON) op:Equal rhs:{(/usr/sbin/cron)})] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:PIDFILE) op:Equal rhs:{(/var/run/crond.pid)})] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SCRIPTNAME) op: Equal rhs: {(/etc/init.d/) (DQ ($ VSub_DollarName '$NAME'))} ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {($ VSub_DollarName '$DAEMON')}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] ) (C {(.)} {(/lib/lsb/init-functions)}) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_LBracket '[')} {(-r)} {(/etc/default/cron)} {(Lit_RBracket ']')}) (C {(.)} {(/etc/default/cron)}) ] ) (command.FuncDef 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: [Op_DPipe] children: [ (C {(Lit_LBracket '[')} {(-r)} {(DQ ($ VSub_DollarName '$ENV_FILE'))} {(Lit_RBracket ']')} ) (command.ControlFlow token: <ControlFlow_Continue continue> ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_LBracket '[')} {(-s)} {(DQ ($ VSub_DollarName '$ENV_FILE'))} {(Lit_RBracket ']')} ) (command.ControlFlow token: <ControlFlow_Continue continue> ) ] ) (command.ForEach iter_name: var iter_words: [{(LANG)} {(LANGUAGE)} {(LC_ALL)} {(LC_CTYPE)}] do_arg_iter: F body: (command.DoGroup children: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:value) op: Equal rhs: { (word_part.CommandSub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(egrep)} {(DQ ('^') (${ VSub_Name var) ('='))} {(DQ ($ VSub_DollarName '$ENV_FILE'))} ) (C {(tail)} {(-n1)}) (C {(cut)} {(-d) (Lit_Other '=')} {(-f2)}) ] negated: F ) ] ) ) } ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_LBracket '[')} {(-n)} {(DQ ($ VSub_DollarName '$value'))} {(Lit_RBracket ']')} ) (C {(eval)} {(export)} {($ VSub_DollarName '$var') (Lit_Other '=') ($ VSub_DollarName '$value') } ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_LBracket '[')} {(-n)} {(DQ ($ VSub_DollarName '$value'))} {(Lit_RBracket ']')} ) (C {(Lit_LBracket '[')} {(DQ ($ VSub_DollarName '$ENV_FILE'))} {(Lit_Other '=')} {(/etc/environment)} {(Lit_RBracket ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_warning_msg)} { (DQ ( '/etc/environment has been deprecated for locale information; use /etc/default/locale for ' ) ($ VSub_DollarName '$var') ('=') ($ VSub_DollarName '$value') (' instead') ) } ) ] ) ] ) ] ) ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(-z)} {(DQ ($ VSub_DollarName '$TZ'))} {(-a)} {(-e)} {(/etc/timezone)} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TZ) op: Equal rhs: { (word_part.CommandSub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [(C {(cat)} {(/etc/timezone)})] ) ) } ) ] ) ] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(DQ ($ VSub_DollarName '$READ_ENV'))} {(Lit_Other '=')} {(DQ (yes))} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(parse_environment)})] ) ] ) (command.Case to_match: {(DQ ($ 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)} {($ VSub_DollarName '$PIDFILE')} {($ VSub_DollarName '$DAEMON')} {($ VSub_DollarName '$EXTRA_OPTS')} ) (C {(log_end_msg)} {($ VSub_QMark '$?')}) ] ) (case_arm pat_list: [{(stop)}] action: [ (C {(log_daemon_msg)} {(DQ ('Stopping periodic command scheduler'))} {(DQ (cron))}) (C {(killproc)} {(-p)} {($ VSub_DollarName '$PIDFILE')} {($ VSub_DollarName '$DAEMON')}) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RETVAL) op: Equal rhs: {($ VSub_QMark '$?')} ) ] ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(Lit_LBracket '[')} {($ VSub_DollarName '$RETVAL')} {(-eq)} {(0)} {(Lit_RBracket ']')}) (C {(Lit_LBracket '[')} {(-e)} {(DQ ($ VSub_DollarName '$PIDFILE'))} {(Lit_RBracket ']')}) (C {(rm)} {(-f)} {($ VSub_DollarName '$PIDFILE')}) ] ) (C {(log_end_msg)} {($ VSub_DollarName '$RETVAL')}) ] ) (case_arm pat_list: [{(restart)}] action: [ (C {(log_daemon_msg)} {(DQ ('Restarting periodic command scheduler'))} {(DQ (cron))}) (C {($ VSub_Number '$0')} {(stop)}) (C {($ VSub_Number '$0')} {(start)}) ] ) (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)}) ] ) (case_arm pat_list: [{(status)}] action: [ (command.AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(status_of_proc)} {(-p)} {($ VSub_DollarName '$PIDFILE')} {($ VSub_DollarName '$DAEMON')} {($ VSub_DollarName '$NAME')} ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_QMark '$?')} ) ] ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (C {(log_action_msg)} {(DQ ('Usage: /etc/init.d/cron {start|stop|status|restart|reload|force-reload}'))} ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] ) ] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )