(command.CommandList children: [ (C {(.)} {(/lib/lsb/init-functions)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {(/usr/local/sbin) (Id.Lit_Other ':') (/usr/local/bin) (Id.Lit_Other ':') (/sbin) (Id.Lit_Other ':') (/bin) (Id.Lit_Other ':') (/usr/sbin) (Id.Lit_Other ':') (/usr/bin) } spids: [48] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DAEMON) op: assign_op.Equal rhs: {(/usr/sbin/saned)} spids: [61] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NAME) op: assign_op.Equal rhs: {(saned)} spids: [64] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DESC) op: assign_op.Equal rhs: {(DQ ('SANE network scanner server'))} spids: [67] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(test)} {(-x)} {($ Id.VSub_DollarName '$DAEMON')}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:81) arg_word: {(0)} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:RUN) op:assign_op.Equal rhs:{(no)} spids:[86])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RUN_AS_USER) op: assign_op.Equal rhs: {(saned)} spids: [89] ) ] ) (C {(.)} {(/lib/lsb/init-functions)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-f)} {(/etc/default/saned)} {(Id.Lit_RBracket ']')}) terminator: (Token id:Id.Op_Semi val:';' span_id:114) ) ] action: [(C {(.)} {(/etc/default/saned)})] spids: [104 116] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(DQ (x) ($ Id.VSub_DollarName '$RUN'))} {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ (xyes))} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:144) ) ] action: [ (C {(log_success_msg)} {(DQ ($ Id.VSub_DollarName '$NAME') (' disabled; edit /etc/default/saned'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:157) arg_word: {(0)} ) ] spids: [126 146] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DAEMON_OPTS) op: assign_op.Equal rhs: {(DQ ('-a ') ($ Id.VSub_DollarName '$RUN_AS_USER'))} spids: [164] ) ] ) (C {(Id.KW_Set set)} {(-e)}) (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(start)}] action: [ (C {(log_daemon_msg)} {(DQ ('Starting ') ($ Id.VSub_DollarName '$DESC'))} {(DQ ($ Id.VSub_DollarName '$NAME'))} ) (C {(start-stop-daemon)} {(--start)} {(--quiet)} {(--pidfile)} {(/var/run/) ($ Id.VSub_DollarName '$NAME') (.pid)} {(--exec)} {($ Id.VSub_DollarName '$DAEMON')} {(--)} {($ Id.VSub_DollarName '$DAEMON_OPTS')} ) (C {(log_end_msg)} {($ Id.VSub_QMark '$?')}) ] spids: [185 186 229 -1] ) (case_arm pat_list: [{(stop)}] action: [ (C {(log_daemon_msg)} {(DQ ('Stopping ') ($ Id.VSub_DollarName '$DESC'))} {(DQ ($ Id.VSub_DollarName '$NAME'))} ) (C {(start-stop-daemon)} {(--stop)} {(--oknodo)} {(--quiet)} {(--pidfile)} {(/var/run/) ($ Id.VSub_DollarName '$NAME') (.pid)} {(--exec)} {($ Id.VSub_DollarName '$DAEMON')} ) (C {(log_end_msg)} {($ Id.VSub_QMark '$?')}) ] spids: [232 233 274 -1] ) (case_arm pat_list: [{(force-reload)}] action: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {(start-stop-daemon)} {(--stop)} {(--test)} {(--quiet)} {(--pidfile)} {(/var/run/) ($ Id.VSub_DollarName '$NAME') (.pid)} {(--exec)} {($ Id.VSub_DollarName '$DAEMON')} ) (C {($ Id.VSub_Number '$0')} {(restart)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:317) arg_word: {(0)} ) ] ) ] spids: [277 278 322 -1] ) (case_arm pat_list: [{(restart)}] action: [ (C {(log_daemon_msg)} {(DQ ('Restarting ') ($ Id.VSub_DollarName '$DESC'))} {(DQ ($ Id.VSub_DollarName '$NAME'))} ) (C {(start-stop-daemon)} {(--stop)} {(--oknodo)} {(--quiet)} {(--pidfile)} {(/var/run/) ($ Id.VSub_DollarName '$NAME') (.pid)} {(--exec)} {($ Id.VSub_DollarName '$DAEMON')} ) (C {(sleep)} {(1)}) (C {(start-stop-daemon)} {(--start)} {(--quiet)} {(--pidfile)} {(/var/run/) ($ Id.VSub_DollarName '$NAME') (.pid)} {(--exec)} {($ Id.VSub_DollarName '$DAEMON')} {(--)} {($ Id.VSub_DollarName '$DAEMON_OPTS')} ) (C {(log_end_msg)} {($ Id.VSub_QMark '$?')}) ] spids: [325 326 395 -1] ) (case_arm pat_list: [{(status)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-s)} {(/var/run/) ($ Id.VSub_DollarName '$NAME') (.pid)} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:413) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RUNNING) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:419) command_list: (command.CommandList children: [ (C {(cat)} {(/var/run/) ($ Id.VSub_DollarName '$NAME') (.pid)}) ] ) ) } spids: [418] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-d)} {(/proc/) ($ Id.VSub_DollarName '$RUNNING')} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:438) ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 447 ) command_list: (command.CommandList children: [ (C {(readlink)} {(/proc/) ($ Id.VSub_DollarName '$RUNNING') (/exe) } ) ] ) ) } {(Id.Lit_Equals '=')} {($ Id.VSub_DollarName '$DAEMON')} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:460) ) ] action: [ (C {(log_success_msg)} {(DQ ($ Id.VSub_DollarName '$NAME') (' is running'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:473) arg_word: {(0)} ) ] spids: [443 462] ) ] ) ] spids: [428 440] ) ] ) (C {(log_failure_msg)} {(DQ ($ Id.VSub_DollarName '$NAME') (' is not running, but pidfile existed'))} ) (C {(rm)} {(/var/run/) ($ Id.VSub_DollarName '$NAME') (.pid)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:504) arg_word: {(1)} ) ] spids: [402 415] ) ] else_action: [ (C {(rm)} {(-f)} {(/var/run/) ($ Id.VSub_DollarName '$NAME') (.pid)}) (C {(log_failure_msg)} {(DQ ($ Id.VSub_DollarName '$NAME') (' not running'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:529) arg_word: {(1)} ) ] ) ] spids: [398 399 537 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:N) op: assign_op.Equal rhs: {(/etc/init.d/) ($ Id.VSub_DollarName '$NAME')} spids: [544] ) ] ) (C {(log_failure_msg)} {(DQ ('Usage: ') ($ Id.VSub_DollarName '$N') (' {start|stop|restart|force-reload}'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:558) arg_word: {(1)} ) ] spids: [540 541 563 -1] ) ] ) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:568) arg_word:{(0)}) ] )