(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH) op: assign_op.Equal rhs: {<'/sbin'> <Id.Lit_Colon ':'> <'/bin'> <Id.Lit_Colon ':'> <'/usr/sbin'> <Id.Lit_Colon ':'> <'/usr/bin'> } spids: [38] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DAEMON='> name:DAEMON) op: assign_op.Equal rhs: {<'/usr/bin/speech-dispatcher'>} spids: [47] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PIDFILE='> name:PIDFILE) op: assign_op.Equal rhs: {<'/var/run/speech-dispatcher/speech-dispatcher.pid'>} spids: [50] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NAME='> name:NAME) op: assign_op.Equal rhs: {<speech-dispatcher>} spids: [53] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DESC='> name:DESC) op: assign_op.Equal rhs: {(SQ <'Speech Dispatcher'>)} spids: [56] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USER='> name:USER) op: assign_op.Equal rhs: {<speech-dispatcher>} spids: [61] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-f>} {($ Id.VSub_DollarName DAEMON)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ) (C {<.>} {<'/lib/lsb/init-functions'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RUN='> name:RUN) op: assign_op.Equal rhs: {<no>} spids: [83] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<'/etc/default/speech-dispatcher'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<.>} {<'/etc/default/speech-dispatcher'>})] spids: [90 102] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (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: <Id.Op_Semi _> ) ] ) action: [ (C {<log_action_msg>} {(DQ ($ Id.VSub_DollarName NAME) <' disabled; edit /etc/default/speech-dispatcher'>)} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [112 132] ) ] else_action: [] redirects: [] ) (C {<set>} {<-e>}) (command.ShFunction name: do_start body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PIDDIR='> name:PIDDIR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<dirname>} {($ Id.VSub_DollarName PIDFILE)}) right: <Id.Backtick_Right '`'> ) } spids: [163] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-e>} {($ Id.VSub_DollarName PIDDIR)} {<Id.Lit_RBracket ']'>}) (C {<install>} {<-d>} {<-ospeech-dispatcher>} {<-gaudio>} {<-m750>} {($ Id.VSub_DollarName PIDDIR)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SDDIR='> name:SDDIR) op: assign_op.Equal rhs: {($ Id.VSub_DollarName PIDDIR) <'/.speech-dispatcher'>} spids: [196] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-e>} {($ Id.VSub_DollarName SDDIR)} {<Id.Lit_RBracket ']'>}) (C {<ln>} {<-s>} {($ Id.VSub_DollarName PIDDIR)} {($ Id.VSub_DollarName SDDIR)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LOGDIR='> name:LOGDIR) op: assign_op.Equal rhs: {($ Id.VSub_DollarName SDDIR) <'/log'>} spids: [220] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} {<-e>} {($ Id.VSub_DollarName LOGDIR)} {<Id.Lit_RBracket ']'>}) (C {<ln>} {<-s>} {<'/var/log/speech-dispatcher'>} {($ Id.VSub_DollarName LOGDIR)}) ] ) (C {<start-stop-daemon>} {<--oknodo>} {<--start>} {<--quiet>} {<--chuid>} {($ Id.VSub_DollarName USER)} {<--pidfile>} {($ Id.VSub_DollarName PIDFILE)} {<--exec>} {($ Id.VSub_DollarName DAEMON)} {<-->} {<--pid-file>} {($ Id.VSub_DollarName PIDFILE)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: do_stop body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<start-stop-daemon>} {<--oknodo>} {<--stop>} {<--quiet>} {<--user>} {($ Id.VSub_DollarName USER)} {<--pidfile>} {($ Id.VSub_DollarName PIDFILE)} {<--exec>} {($ Id.VSub_DollarName DAEMON)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (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 <speech-dispatcher>)} ) (C {<do_start>}) (C {<log_end_msg>} {($ Id.VSub_QMark '?')}) ] spids: [317 318 341 -1] ) (case_arm pat_list: [{<stop>}] action: [ (C {<log_daemon_msg>} {(DQ <'Stopping '> ($ Id.VSub_DollarName DESC))} {(DQ <speech-dispatcher>)} ) (C {<do_stop>}) (C {<log_end_msg>} {($ Id.VSub_QMark '?')}) ] spids: [344 345 368 -1] ) (case_arm pat_list: [{<reload>} {<force-reload>}] action: [ (C {<log_daemon_msg>} {(DQ <'Reloading '> ($ Id.VSub_DollarName DESC) <' configuration files'>)} {(DQ <speech-dispatcher>)} ) (C {<start-stop-daemon>} {<--oknodo>} {<--stop>} {<--signal>} {<1>} {<--quiet>} {<--user>} {($ Id.VSub_DollarName USER)} {<--pidfile>} {($ Id.VSub_DollarName PIDFILE)} {<--exec>} {($ Id.VSub_DollarName DAEMON)} ) (C {<log_end_msg>} {($ Id.VSub_QMark '?')}) ] spids: [371 374 422 -1] ) (case_arm pat_list: [{<restart>}] action: [ (C {<log_daemon_msg>} {(DQ <'Restarting '> ($ Id.VSub_DollarName DESC))} {(DQ <speech-dispatcher>)} ) (C {<do_stop>}) (C {<sleep>} {<3>}) (C {<do_start>}) (C {<log_end_msg>} {($ Id.VSub_QMark '?')}) ] spids: [425 426 457 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'N='> name:N) op: assign_op.Equal rhs: {<'/etc/init.d/'> ($ Id.VSub_DollarName NAME)} spids: [464] ) ] redirects: [] ) (command.Simple words: [ {<echo>} { (DQ <'Usage: '> ($ Id.VSub_DollarName N) <' {start|stop|restart|reload|force-reload}'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] more_env: [] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [460 461 486 -1] ) ] redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )