(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: [40] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DESC) op: assign_op.Equal rhs: {(DQ ('Avahi mDNS/DNS-SD Daemon'))} spids: [49] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NAME) op: assign_op.Equal rhs: {(DQ (avahi-daemon))} spids: [54] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DAEMON) op: assign_op.Equal rhs: {(DQ (/usr/sbin/) ($ Id.VSub_DollarName '$NAME'))} spids: [59] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SCRIPTNAME) op: assign_op.Equal rhs: {(/etc/init.d/) ($ Id.VSub_DollarName '$NAME')} spids: [65] ) ] ) (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)} ) ] ) (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 name:DISABLE_TAG) op: assign_op.Equal rhs: {(DQ (/var/run/avahi-daemon/disabled-for-unicast-local))} spids: [107] ) ] ) (command.ShFunction name: d_start body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName '$DAEMON')} {(-c)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:135) arg_word: {(0)} ) ] ) (command.Sentence child: (command.If arms: [ (if_arm cond: [ (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: (Token id:Id.Op_Semi val:';' span_id:163) ) ] action: [ (C {(log_warning_msg)} {(DQ ('avahi-daemon disabled because there is a unicast .local domain'))} ) (command.Sentence child: (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:179) arg_word: {(0)} ) terminator: (Token id:Id.Op_Semi val:';' span_id:182) ) ] spids: [141 165] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:186) ) (C {($ Id.VSub_DollarName '$DAEMON')} {(-D)}) ] ) ) (command.ShFunction name: d_stop body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {($ Id.VSub_DollarName '$DAEMON')} {(-c)}) terminator: (Token id:Id.Op_Semi val:';' span_id:219) ) ] action: [(C {($ Id.VSub_DollarName '$DAEMON')} {(-k)})] spids: [213 221] ) ] ) ] ) ) (command.ShFunction name: d_reload body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName '$DAEMON')} {(-c)}) (C {($ Id.VSub_DollarName '$DAEMON')} {(-r)}) ] ) ] ) ) (command.ShFunction name: d_status body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {($ Id.VSub_DollarName '$DAEMON')} {(-c)}) (command.BraceGroup children: [ (command.Sentence child: (C {(echo)} {(DQ ($ Id.VSub_DollarName '$DESC') (' is running'))}) terminator: (Token id:Id.Op_Semi val:';' span_id:293) ) (command.Sentence child: (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:295) arg_word: {(0)} ) terminator: (Token id:Id.Op_Semi val:';' span_id:298) ) ] ) (command.BraceGroup children: [ (command.Sentence child: (C {(echo)} {(DQ ($ Id.VSub_DollarName '$DESC') (' is not running'))}) terminator: (Token id:Id.Op_Semi val:';' span_id:312) ) (command.Sentence child: (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:314) arg_word: {(3)} ) terminator: (Token id:Id.Op_Semi val:';' span_id:317) ) ] ) ] ) ] ) ) (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: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_QMark '$?'))} {(-eq)} {(0)} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:448) ) ] action: [(C {(d_start)}) (C {(log_end_msg)} {($ Id.VSub_QMark '$?')})] spids: [435 450] ) ] else_action: [(C {(log_end_msg)} {(1)})] ) ] 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.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:497) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:501) arg_word: {(3)} ) ] spids: [485 486 506 -1] ) ] ) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:511) arg_word:{(0)}) ] )