(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'PATH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PATH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH) op: assign_op.Equal rhs: {<'/sbin'> <Id.Lit_Colon ':'> <'/usr/sbin'> <Id.Lit_Colon ':'> <'/bin'> <Id.Lit_Colon ':'> <'/usr/bin'> } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DESC='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DESC='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DESC='> name:DESC) op: assign_op.Equal rhs: {(DQ <'Kernel crash collector'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'NAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'NAME='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NAME='> name:NAME) op: assign_op.Equal rhs: {<kerneloops>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DAEMON='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DAEMON='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DAEMON='> name:DAEMON) op: assign_op.Equal rhs: {<'/usr/sbin/'> ($ Id.VSub_DollarName NAME)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PIDFILE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PIDFILE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PIDFILE='> name:PIDFILE) op: assign_op.Equal rhs: {<'/var/run/'> ($ Id.VSub_DollarName NAME) <.pid>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SCRIPTNAME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SCRIPTNAME='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SCRIPTNAME='> name:SCRIPTNAME) op: assign_op.Equal rhs: {<'/etc/init.d/'> ($ Id.VSub_DollarName NAME)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ENABLED='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ENABLED='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ENABLED='> name:ENABLED) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-x>} {(DQ ($ Id.VSub_DollarName DAEMON))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-r>} {<'/etc/default/'> ($ Id.VSub_DollarName NAME)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'/etc/default/'> ($ Id.VSub_DollarName NAME)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName ENABLED))} {<Id.Lit_Equals '='>} {(DQ <1>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'/lib/init/vars.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'/lib/lsb/init-functions'>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <do_start> name: do_start body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <start-stop-daemon> more_env: [] words: [ {<start-stop-daemon>} {<--start>} {<--quiet>} {<--chuid>} {<kernoops> <Id.Lit_Colon ':'> <adm>} {<--pidfile>} {($ Id.VSub_DollarName PIDFILE)} {<--exec>} {($ Id.VSub_DollarName DAEMON)} {<--test>} ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <start-stop-daemon> more_env: [] words: [ {<start-stop-daemon>} {<--start>} {<--quiet>} {<--chuid>} {<kernoops> <Id.Lit_Colon ':'> <adm>} {<--pidfile>} {($ Id.VSub_DollarName PIDFILE)} {<--exec>} {($ Id.VSub_DollarName DAEMON)} {<-->} {($ Id.VSub_DollarName DAEMON_ARGS)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<2>} ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <pidofproc> more_env: [] words: [{<pidofproc>} {($ Id.VSub_DollarName DAEMON)}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName PIDFILE)} ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <do_stop> name: do_stop body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <start-stop-daemon> more_env: [] words: [ {<start-stop-daemon>} {<--stop>} {<--quiet>} {<--retry> <Id.Lit_Equals '='> <'TERM/30/KILL/5'>} {<--pidfile>} {($ Id.VSub_DollarName PIDFILE)} {<--name>} {($ Id.VSub_DollarName NAME)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'RETVAL='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RETVAL='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RETVAL='> name:RETVAL) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_QMark '?'))} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName RETVAL))} {<Id.Lit_Equals '='>} {<2>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<2>} ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {($ Id.VSub_DollarName PIDFILE)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {(DQ ($ Id.VSub_DollarName RETVAL))} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_Number 1))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <start> pattern: (pat.Words words:[{<start>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName VERBOSE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_daemon_msg> more_env: [] words: [ {<log_daemon_msg>} {(DQ <'Starting '> ($ Id.VSub_DollarName DESC))} {(DQ ($ Id.VSub_DollarName NAME))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <do_start> more_env: [] words: [{<do_start>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_QMark '?'))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0> pattern: (pat.Words words:[{<0>} {<1>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName VERBOSE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<0>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <2> pattern: (pat.Words words:[{<2>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName VERBOSE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <stop> pattern: (pat.Words words:[{<stop>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName VERBOSE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_daemon_msg> more_env: [] words: [ {<log_daemon_msg>} {(DQ <'Stopping '> ($ Id.VSub_DollarName DESC))} {(DQ ($ Id.VSub_DollarName NAME))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <do_stop> more_env: [] words: [{<do_stop>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_QMark '?'))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0> pattern: (pat.Words words:[{<0>} {<1>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName VERBOSE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<0>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <2> pattern: (pat.Words words:[{<2>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName VERBOSE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <status> pattern: (pat.Words words:[{<status>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <status_of_proc> more_env: [] words: [ {<status_of_proc>} {(DQ ($ Id.VSub_DollarName DAEMON))} {(DQ ($ Id.VSub_DollarName NAME))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_QMark '?')} ) ] ops: [<Id.Op_DAmp _> <Id.Op_DPipe _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <restart> pattern: (pat.Words words:[{<restart>} {<force-reload>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <log_daemon_msg> more_env: [] words: [ {<log_daemon_msg>} {(DQ <'Restarting '> ($ Id.VSub_DollarName DESC))} {(DQ ($ Id.VSub_DollarName NAME))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <do_stop> more_env: [] words: [{<do_stop>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_QMark '?'))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0> pattern: (pat.Words words:[{<0>} {<1>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <do_start> more_env: [] words: [{<do_start>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_QMark '?'))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0> pattern: (pat.Words words:[{<0>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<0>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <1> pattern: (pat.Words words:[{<1>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Usage: '> ($ Id.VSub_DollarName SCRIPTNAME) <' {start|stop|status|restart|force-reload}'> ) } ] redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<3>}) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) ] )