(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {</sbin> <Id.Lit_Other ':'> </bin> <Id.Lit_Other ':'> </usr/sbin> <Id.Lit_Other ':'> </usr/bin> } spids: [38] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DAEMON) op: assign_op.Equal rhs: {</usr/bin/speech-dispatcher>} spids: [47] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PIDFILE) op: assign_op.Equal rhs: {</var/run/speech-dispatcher/speech-dispatcher.pid>} spids: [50] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NAME) op: assign_op.Equal rhs: {<speech-dispatcher>} spids: [53] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DESC) op: assign_op.Equal rhs: {(SQ <'Speech Dispatcher'>)} spids: [56] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:USER) op: assign_op.Equal rhs: {<speech-dispatcher>} spids: [61] ) ] ) (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 name:RUN) op:assign_op.Equal rhs:{<no>} spids:[83])] ) (command.If arms: [ (if_arm cond: [ (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] ) ] ) (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: <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] ) ] ) (C {<Id.KW_Set set>} {<-e>}) (command.ShFunction name: do_start body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PIDDIR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [(C {<dirname>} {($ Id.VSub_DollarName '$PIDFILE')})] ) ) } spids: [163] ) ] ) (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 name:SDDIR) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$PIDDIR') </.speech-dispatcher>} spids: [196] ) ] ) (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 name:LOGDIR) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$SDDIR') </log>} spids: [220] ) ] ) (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')} ) ] ) ) (command.ShFunction name: do_stop body: (command.BraceGroup children: [ (C {<start-stop-daemon>} {<--oknodo>} {<--stop>} {<--quiet>} {<--user>} {($ Id.VSub_DollarName '$USER')} {<--pidfile>} {($ Id.VSub_DollarName '$PIDFILE')} {<--exec>} {($ Id.VSub_DollarName '$DAEMON')} ) ] ) ) (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 name:N) op: assign_op.Equal rhs: {</etc/init.d/> ($ Id.VSub_DollarName '$NAME')} spids: [464] ) ] ) (command.Simple words: [ {<echo>} { (DQ <'Usage: '> ($ Id.VSub_DollarName '$N') <' {start|stop|restart|reload|force-reload}'> ) } ] redirects: [(redir.Redir op:<Id.Redir_GreatAnd '>&'> fd:-1 arg_word:{<2>})] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [460 461 486 -1] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )