(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: {<'/usr/local/sbin'> <Id.Lit_Colon ':'> <'/usr/local/bin'> <Id.Lit_Colon ':'> <'/sbin'> <Id.Lit_Colon ':'> <'/bin'> <Id.Lit_Colon ':'> <'/usr/sbin'> <Id.Lit_Colon ':'> <'/usr/bin'> } spids: [50] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DAEMON='> name:DAEMON) op: assign_op.Equal rhs: {<'/usr/sbin/cupsd'>} spids: [63] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NAME='> name:NAME) op: assign_op.Equal rhs: {<cupsd>} spids: [66] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PIDFILE='> name:PIDFILE) op: assign_op.Equal rhs: {<'/var/run/cups/'> ($ Id.VSub_DollarName NAME) <.pid>} spids: [69] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DESC='> name:DESC) op: assign_op.Equal rhs: {(DQ <'Common Unix Printing System'>)} spids: [74] ) ] 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/cups'>} spids: [79] ) ] redirects: [] ) (C {<unset>} {<TMPDIR>}) (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 {<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: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName TZ))} {<-a>} {<-e>} {<'/etc/timezone'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TZ='> name:TZ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<cat>} {<'/etc/timezone'>}) right: <Id.Backtick_Right '`'> ) } spids: [166] ) ] redirects: [] ) (C {<export>} {<TZ>}) ] spids: [144 163] ) ] else_action: [] redirects: [] ) (command.ShFunction name: coldplug_usb_printers body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<type>} {<udevadm>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) (C {<Id.Lit_LBracket '['>} {<-x>} {<'/lib/udev/udev-configure-printer'>} {<Id.Lit_RBracket ']'>} ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_names: [printer] iterable: (for_iter.Words words: [ { (command_sub left_token: <Id.Left_Backtick '`'> child: (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 op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<true>}) ] ) terminator: <Id.Op_Semi _> ) (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 <'lp[0-9]*'>)} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<true>}) ] ) ] ) right: <Id.Backtick_Right '`'> ) } ] ) body: (command.DoGroup children: [ (C {<'/lib/udev/udev-configure-printer'>} {<add>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name printer> var_name: printer suffix_op: (suffix_op.Unary op: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Slash '/'> <sys>} ) right: <Id.Right_DollarBrace '}'> ) ) } ) ] ) redirects: [] ) ] spids: [190 214] ) ] else_action: [] redirects: [] ) ] 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 {<mkdir>} {<-p>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<dirname>} {(DQ ($ Id.VSub_DollarName PIDFILE))}) right: <Id.Backtick_Right '`'> ) } ) (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 left:<Id.Lit_VarLike 'status='> name:status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [383] ) ] redirects: [] ) (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 left:<Id.Lit_VarLike 'status='> name:status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [447] ) ] redirects: [] ) (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 left:<Id.Lit_VarLike 'status='> name:status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [496] ) ] redirects: [] ) (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: (condition.Shell commands: [ (command.Sentence child: (C {<start-stop-daemon>} {<--stop>} {<--quiet>} {<--retry>} {<5>} {<--oknodo>} {<--pidfile>} {($ Id.VSub_DollarName PIDFILE)} {<--name>} {($ Id.VSub_DollarName NAME)} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<start-stop-daemon>} {<--start>} {<--quiet>} {<--pidfile>} {(DQ ($ Id.VSub_DollarName PIDFILE))} {<--exec>} {($ Id.VSub_DollarName DAEMON)} ) ] spids: [524 547] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [570] ) ] redirects: [] ) (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:<Id.ControlFlow_Exit exit> arg_word:{<0>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> 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 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: [618 619 639 -1] ) ] redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )