(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {(/usr/local/sbin) (Id.Lit_Other ':') (/usr/local/bin) (Id.Lit_Other ':') (/sbin) (Id.Lit_Other ':') (/bin) (Id.Lit_Other ':') (/usr/sbin) (Id.Lit_Other ':') (/usr/bin) } spids: [50] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DAEMON) op: assign_op.Equal rhs: {(/usr/sbin/cupsd)} spids: [63] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NAME) op: assign_op.Equal rhs: {(cupsd)} spids: [66] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PIDFILE) op: assign_op.Equal rhs: {(/var/run/cups/) ($ Id.VSub_DollarName '$NAME') (.pid)} spids: [69] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DESC) op: assign_op.Equal rhs: {(DQ ('Common Unix Printing System'))} spids: [74] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SCRIPTNAME) op: assign_op.Equal rhs: {(/etc/init.d/cups)} spids: [79] ) ] ) (C {(unset)} {(TMPDIR)}) (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:99) arg_word: {(0)} ) ] ) (C {(mkdir)} {(-p)} {(/var/run/cups/certs)}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(Id.Lit_LBracket '[')} {(-x)} {(/sbin/restorecon)} {(Id.Lit_RBracket ']')}) (C {(/sbin/restorecon)} {(-R)} {(/var/run/cups)}) ] ) (C {(.)} {(/lib/lsb/init-functions)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-z)} {(DQ ($ Id.VSub_DollarName '$TZ'))} {(-a)} {(-e)} {(/etc/timezone)} {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:161) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TZ) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:167) command_list: (command.CommandList children:[(C {(cat)} {(/etc/timezone)})]) ) } spids: [166] ) ] ) (C {(export)} {(TZ)}) ] spids: [144 163] ) ] ) (command.ShFunction name: coldplug_usb_printers body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{(type)} {(udevadm)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:196) fd: -1 arg_word: {(/dev/null)} ) (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:200) fd: 2 arg_word: {(1)} ) ] ) (C {(Id.Lit_LBracket '[')} {(-x)} {(/lib/udev/udev-configure-printer)} {(Id.Lit_RBracket ']')} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:212) ) ] action: [ (command.ForEach iter_name: printer iter_words: [ { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:223) command_list: (command.CommandList children: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {(udevadm)} {(trigger)} {(--verbose)} {(--dry-run)} {(--subsystem-match) (Id.Lit_Equals '=') (usb)} {(--attr-match) (Id.Lit_Equals '=') (Id.Lit_VarLike 'bInterfaceClass=') (07) } {(--attr-match) (Id.Lit_Equals '=') (Id.Lit_VarLike 'bInterfaceSubClass=') (01) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:259) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(true)}) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:265) ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {(udevadm)} {(trigger)} {(--verbose)} {(--dry-run)} {(--subsystem-match) (Id.Lit_Equals '=') (usb)} {(--sysname-match) (Id.Lit_Equals '=') (SQ (Token id:Id.Lit_Chars val:'lp[0-9]*' span_id:286)) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:289) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(true)}) ] ) ] ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {(/lib/udev/udev-configure-printer)} {(add)} { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:printer span_id:307) suffix_op: (suffix_op.Unary op_id: Id.VOp1_Pound arg_word: {(Id.Lit_Slash /) (sys)} ) ) ) } ) ] ) ) ] spids: [190 214] ) ] ) ] ) ) (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 {(mkdir)} {(-p)} { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:353) command_list: (command.CommandList children: [(C {(dirname)} {(DQ ($ Id.VSub_DollarName '$PIDFILE'))})] ) ) } ) (C {(start-stop-daemon)} {(--start)} {(--quiet)} {(--oknodo)} {(--pidfile)} {(DQ ($ Id.VSub_DollarName '$PIDFILE'))} {(--exec)} {($ Id.VSub_DollarName '$DAEMON')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [383] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$status')} {(Id.Lit_Equals '=')} {(0)} {(Id.Lit_RBracket ']')} ) (C {(coldplug_usb_printers)}) ] ) (C {(log_end_msg)} {($ Id.VSub_DollarName '$status')}) ] spids: [332 333 407 -1] ) (case_arm pat_list: [{(stop)}] action: [ (C {(log_daemon_msg)} {(DQ ('Stopping ') ($ Id.VSub_DollarName '$DESC'))} {(DQ ($ Id.VSub_DollarName '$NAME'))} ) (C {(start-stop-daemon)} {(--stop)} {(--quiet)} {(--retry)} {(5)} {(--oknodo)} {(--pidfile)} {($ Id.VSub_DollarName '$PIDFILE')} {(--name)} {($ Id.VSub_DollarName '$NAME')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [447] ) ] ) (C {(log_end_msg)} {($ Id.VSub_DollarName '$status')}) ] spids: [410 411 456 -1] ) (case_arm pat_list: [{(reload)} {(force-reload)}] action: [ (C {(log_daemon_msg)} {(DQ ('Reloading ') ($ Id.VSub_DollarName '$DESC'))} {(DQ ($ Id.VSub_DollarName '$NAME'))} ) (C {(start-stop-daemon)} {(--stop)} {(--quiet)} {(--pidfile)} {($ Id.VSub_DollarName '$PIDFILE')} {(--name)} {($ Id.VSub_DollarName '$NAME')} {(--signal)} {(1)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [496] ) ] ) (C {(log_end_msg)} {($ Id.VSub_DollarName '$status')}) ] spids: [459 462 505 -1] ) (case_arm pat_list: [{(restart)}] action: [ (C {(log_daemon_msg)} {(DQ ('Restarting ') ($ Id.VSub_DollarName '$DESC'))} {(DQ ($ Id.VSub_DollarName '$NAME'))} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(start-stop-daemon)} {(--stop)} {(--quiet)} {(--retry)} {(5)} {(--oknodo)} {(--pidfile)} {($ Id.VSub_DollarName '$PIDFILE')} {(--name)} {($ Id.VSub_DollarName '$NAME')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:545) ) ] action: [ (C {(start-stop-daemon)} {(--start)} {(--quiet)} {(--pidfile)} {(DQ ($ Id.VSub_DollarName '$PIDFILE'))} {(--exec)} {($ Id.VSub_DollarName '$DAEMON')} ) ] spids: [524 547] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [570] ) ] ) (C {(log_end_msg)} {($ Id.VSub_DollarName '$status')}) ] spids: [508 509 579 -1] ) (case_arm pat_list: [{(status)}] action: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (C {(status_of_proc)} {(-p)} {(DQ ($ Id.VSub_DollarName '$PIDFILE'))} {(DQ ($ Id.VSub_DollarName '$DAEMON'))} {(DQ ($ Id.VSub_DollarName '$NAME'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:604) arg_word: {(0)} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:610) arg_word: {($ Id.VSub_QMark '$?')} ) ] ) ] spids: [582 583 615 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (command.Simple words: [ {(echo)} { (DQ ('Usage: ') ($ Id.VSub_DollarName '$SCRIPTNAME') (' {start|stop|restart|force-reload|status}') ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:630) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:634) arg_word: {(3)} ) ] spids: [618 619 639 -1] ) ] ) (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:644) arg_word:{(0)}) ] )