(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: [40] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DESC='> name:DESC) op: assign_op.Equal rhs: {(DQ <'Avahi mDNS/DNS-SD Daemon'>)} spids: [49] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NAME='> name:NAME) op: assign_op.Equal rhs: {(DQ <avahi-daemon>)} spids: [54] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DAEMON='> name:DAEMON) op: assign_op.Equal rhs: {(DQ <'/usr/sbin/'> ($ Id.VSub_DollarName NAME))} spids: [59] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SCRIPTNAME='> name:SCRIPTNAME) op: assign_op.Equal rhs: {<'/etc/init.d/'> ($ Id.VSub_DollarName NAME)} spids: [65] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-x>} {($ Id.VSub_DollarName DAEMON)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ) (C {<.>} {<'/lib/lsb/init-functions'>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-f>} {<'/etc/default/avahi-daemon'>}) (C {<.>} {<'/etc/default/avahi-daemon'>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DISABLE_TAG='> name:DISABLE_TAG) op: assign_op.Equal rhs: {(DQ <'/var/run/avahi-daemon/disabled-for-unicast-local'>)} spids: [107] ) ] redirects: [] ) (command.ShFunction name: d_start body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName DAEMON)} {<-c>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ) (command.Sentence child: (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-e>} {($ Id.VSub_DollarName DISABLE_TAG)} {<-a>} {(DQ ($ Id.VSub_DollarName AVAHI_DAEMON_DETECT_LOCAL))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <0>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<log_warning_msg>} {(DQ <'avahi-daemon disabled because there is a unicast .local domain'>)} ) (command.Sentence child: (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) terminator: <Id.Op_Semi _> ) ] spids: [141 165] ) ] else_action: [] redirects: [] ) terminator: <Id.Op_Semi _> ) (C {($ Id.VSub_DollarName DAEMON)} {<-D>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: d_stop body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {($ Id.VSub_DollarName DAEMON)} {<-c>}) terminator: <Id.Op_Semi _> ) ] ) action: [(C {($ Id.VSub_DollarName DAEMON)} {<-k>})] spids: [213 221] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: d_reload body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName DAEMON)} {<-c>}) (C {($ Id.VSub_DollarName DAEMON)} {<-r>}) ] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: d_status body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName DAEMON)} {<-c>}) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (C {<echo>} {(DQ ($ Id.VSub_DollarName DESC) <' is running'>)}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (C {<echo>} {(DQ ($ Id.VSub_DollarName DESC) <' is not running'>)}) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<3>}) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ) ] 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 ($ Id.VSub_DollarName NAME))} ) (C {<d_start>}) (C {<log_end_msg>} {($ Id.VSub_QMark '?')}) ] spids: [333 334 357 -1] ) (case_arm pat_list: [{<stop>}] action: [ (C {<log_daemon_msg>} {(DQ <'Stopping '> ($ Id.VSub_DollarName DESC))} {(DQ ($ Id.VSub_DollarName NAME))} ) (C {<d_stop>}) (C {<log_end_msg>} {($ Id.VSub_QMark '?')}) ] spids: [360 361 384 -1] ) (case_arm pat_list: [{<reload>} {<force-reload>}] action: [ (C {<log_daemon_msg>} {(DQ <'Reloading services for '> ($ Id.VSub_DollarName DESC))} {(DQ ($ Id.VSub_DollarName NAME))} ) (C {<d_reload>}) (C {<log_end_msg>} {($ Id.VSub_QMark '?')}) ] spids: [387 390 413 -1] ) (case_arm pat_list: [{<restart>}] action: [ (C {<log_daemon_msg>} {(DQ <'Restarting '> ($ Id.VSub_DollarName DESC))} {(DQ ($ Id.VSub_DollarName NAME))} ) (C {<d_stop>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_QMark '?'))} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<d_start>}) (C {<log_end_msg>} {($ Id.VSub_QMark '?')})] spids: [435 450] ) ] else_action: [(C {<log_end_msg>} {<1>})] redirects: [] ) ] spids: [416 417 472 -1] ) (case_arm pat_list:[{<status>}] action:[(C {<d_status>})] spids:[475 476 482 -1]) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Simple words: [ {<echo>} { (DQ <'Usage: '> ($ Id.VSub_DollarName SCRIPTNAME) <' {start|stop|restart|force-reload|reload|status}'> ) } ] 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:{<3>}) ] spids: [485 486 506 -1] ) ] redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )