(command.CommandList children: [ (command.FuncDef name: unmount_devpts body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(mountpoint)} {(-q)} {(/dev/pts/)}) terminator: <Op_Semi ';'> ) ] action: [(C {(umount)} {(-n)} {(-l)} {(/dev/pts/)})] spids: [16777215 47] ) ] spids: [16777215 59] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(mountpoint)} {(-q)} {(/dev/shm/)}) terminator: <Op_Semi ';'> ) ] action: [(C {(umount)} {(-n)} {(-l)} {(/dev/shm/)})] spids: [16777215 72] ) ] spids: [16777215 84] ) ] spids: [35] ) spids: [31 34] ) (command.FuncDef name: mount_devtmpfs body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(grep)} {(-E)} {(-q)} {(DQ ('^[^[:space:]]+ /dev devtmpfs'))} {(/proc/mounts)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(mount)} {(-n)} {(-o)} {(remount) (Lit_Comma ',') (nosuid) (Lit_Comma ',') (Lit_VarLike 'size=') ($ VSub_DollarName '$tmpfs_size') (Lit_Comma ',') (Lit_VarLike 'mode=') (0755) } {(-t)} {(devtmpfs)} {(devtmpfs)} {(/dev)} ) (command.ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 114] ) ] spids: [16777215 145] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(mount)} {(-n)} {(-o)} {(nosuid) (Lit_Comma ',') (Lit_VarLike 'size=') ($ VSub_DollarName '$tmpfs_size') (Lit_Comma ',') (Lit_VarLike 'mode=') (0755) } {(-t)} {(devtmpfs)} {(devtmpfs)} {(/dev)} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ('udev requires devtmpfs support, not started'))}) (C {(log_end_msg)} {(1)}) ] spids: [16777215 176] ) ] spids: [16777215 191] ) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [96] ) spids: [92 95] ) (command.FuncDef name: create_dev_makedev body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-e)} {(/sbin/MAKEDEV)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(ln)} {(-sf)} {(/sbin/MAKEDEV)} {(/dev/MAKEDEV)})] spids: [16777215 220] ) ] else_action: [(C {(ln)} {(-sf)} {(/bin/true)} {(/dev/MAKEDEV)})] spids: [232 244] ) ] spids: [206] ) spids: [202 205] ) (command.FuncDef name: supported_kernel body: (command.BraceGroup children: [ (command.Case to_match: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(uname)} {(-r)})]) left_token: <Left_CommandSub '$('> spids: [259 263] ) ) } arms: [ (case_arm pat_list: [ {(2.) (Lit_Other '[') (012345) (Lit_Other ']') (.) (Lit_Other '*')} {(2.6.) (Lit_Other '[') (0-9) (Lit_Other ']')} {(2.6.) (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (KW_Bang '!') (0-9) (Lit_Other ']') (Lit_Other '*') } ] action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [269 290 296 16777215] ) (case_arm pat_list: [ {(2.6.) (Lit_Other '[') (12) (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']')} {(2.6.) (Lit_Other '[') (12) (Lit_Other ']') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (KW_Bang '!') (0-9) (Lit_Other ']') (Lit_Other '*') } ] action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [299 319 325 16777215] ) (case_arm pat_list: [ {(2.6.3) (Lit_Other '[') (0-1) (Lit_Other ']')} {(2.6.3) (Lit_Other '[') (0-1) (Lit_Other ']') (Lit_Other '[') (KW_Bang '!') (0-9) (Lit_Other ']') (Lit_Other '*') } ] action: [(command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [328 342 348 16777215] ) ] spids: [256 266 351] ) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [253] ) spids: [249 252] ) (command.FuncDef name: my_tty body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-x)} {(/bin/readlink)} {(Lit_Other ']')}) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-e)} {(/proc/self/fd/0)} {(Lit_Other ']')}) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (command.AndOr ops: [Op_DPipe] children: [(C {(readlink)} {(--silent)} {(/proc/self/fd/0)}) (C {(true)})] ) ] spids: [368] ) spids: [364 367] ) (command.FuncDef name: warn_if_interactive body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$RUNLEVEL'))} {(Lit_Other '=')} {(DQ (S))} {(-a)} {(DQ ($ VSub_DollarName '$PREVLEVEL'))} {(Lit_Other '=')} {(DQ (N))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(command.ControlFlow token:<ControlFlow_Return return>)] spids: [16777215 450] ) ] spids: [16777215 456] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TTY spids:[460]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(my_tty)})]) left_token: <Left_CommandSub '$('> spids: [461 463] ) } spids: [460] ) ] spids: [460] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$TTY'))} {(-o)} {(DQ ($ VSub_DollarName '$TTY'))} {(Lit_Other '=')} {(DQ (/dev/console))} {(-o)} {(DQ ($ VSub_DollarName '$TTY'))} {(Lit_Other '=')} {(DQ (/dev/null))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(command.ControlFlow token:<ControlFlow_Return return>)] spids: [16777215 503] ) ] spids: [16777215 509] ) (C {(printf)} { (DQ (Lit_Other '\\') (n) (Lit_Other '\\') (n) (Lit_Other '\\') ('nIt has been detected that the command') (Lit_Other '\\') (n) (Lit_Other '\\') (n) (Lit_Other '\\') (t) ($ VSub_Number '$0') (' ') ($ VSub_Star '$*') (Lit_Other '\\') (n) (Lit_Other '\\') (n) ) } ) (C {(printf)} {(DQ ('has been run from an interactive shell.') (Lit_Other '\\') (n))}) (C {(printf)} { (DQ ('It will probably not do what you expect, so this script will wait') (Lit_Other '\\') (n) ) } ) (C {(printf)} {(DQ ('60 seconds before continuing. Press ^C to stop it.') (Lit_Other '\\') (n))} ) (C {(printf)} { (DQ ('RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!') (Lit_Other '\\') (n) (Lit_Other '\\') (n) (Lit_Other '\\') (n) (Lit_Other '\\') (n) ) } ) (C {(sleep)} {(60)}) ] spids: [418] ) spids: [414 417] ) (command.FuncDef name: make_static_nodes body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-e)} {(/lib/modules/) (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(uname)} {(-r)})]) left_token: <Left_CommandSub '$('> spids: [599 603] ) (/modules.devname) } {(Lit_Other ']')} ) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-x)} {(/bin/kmod)} {(Lit_Other ']')}) (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (command.Pipeline children: [ (C {(/bin/kmod)} {(static-nodes)} {(--format) (Lit_Other '=') (tmpfiles)} {(--output) (Lit_Other '=') (/proc/self/fd/1)} ) (command.WhileUntil keyword: <KW_While while> cond: [ (command.Sentence child: (C {(read)} {(type)} {(name)} {(mode)} {(uid)} {(gid)} {(age)} {(arg)}) terminator: <Op_Semi ';'> ) ] body: (command.DoGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-e)} {($ VSub_DollarName '$name')} {(Lit_Other ']')}) (command.ControlFlow token: <ControlFlow_Continue continue> ) ] ) (command.Case to_match: {(DQ ($ VSub_DollarName '$type'))} arms: [ (case_arm pat_list: [{(c)} {(b)} {(c) (KW_Bang '!')} {(b) (KW_Bang '!')}] action: [ (C {(mknod)} {(-m)} {($ VSub_DollarName '$mode')} {($ VSub_DollarName '$name')} {($ VSub_DollarName '$type')} { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ VSub_DollarName '$arg')}) (C {(sed)} {(SQ <'s/:/ /'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [712 724] ) } ) ] spids: [691 700 726 16777215] ) (case_arm pat_list: [{(d)} {(d) (KW_Bang '!')}] action: [(C {(mkdir)} {($ VSub_DollarName '$name')})] spids: [729 733 739 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('unparseable line (') ($ VSub_DollarName '$type') (' ') ($ VSub_DollarName '$name') (' ') ($ VSub_DollarName '$mode') (' ') ($ VSub_DollarName '$uid') (' ') ($ VSub_DollarName '$gid') (' ') ($ VSub_DollarName '$age') (' ') ($ VSub_DollarName '$arg') (')') ) } ] redirects: [ (redir.Redir op: <Redir_GreatAnd '>&'> fd: 16777215 arg_word: {(2)} ) ] ) ] spids: [742 743 768 16777215] ) ] spids: [682 688 771] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-x)} {(/sbin/restorecon)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(/sbin/restorecon)} {($ VSub_DollarName '$name')})] spids: [16777215 786] ) ] spids: [16777215 794] ) ] spids: [666 797] ) ) ] negated: F ) ] spids: [591] ) spids: [587 590] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PATH spids:[807]) op: Equal rhs: {(DQ ('/sbin:/bin'))} spids: [807] ) ] spids: [807] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:NAME spids:[812]) op: Equal rhs: {(DQ (systemd-udevd))} spids: [812] ) ] spids: [812] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DAEMON spids:[817]) op: Equal rhs: {(DQ (/lib/systemd/systemd-udevd))} spids: [817] ) ] spids: [817] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DESC spids:[822]) op: Equal rhs: {(DQ ('the hotplug events dispatcher'))} spids: [822] ) ] spids: [822] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-x)} {($ VSub_DollarName '$DAEMON')} {(Lit_Other ']')}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:tmpfs_size spids:[846]) op: Equal rhs: {(DQ (10M))} spids: [846] ) ] spids: [846] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-e)} {(/etc/udev/udev.conf)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(.)} {(/etc/udev/udev.conf)})] spids: [16777215 863] ) ] spids: [16777215 870] ) (C {(.)} {(/lib/lsb/init-functions)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children:[(C {(supported_kernel)})] negated:T) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ('udev requires a kernel >= 2.6.32, not started'))}) (C {(log_end_msg)} {(1)}) ] spids: [16777215 885] ) ] spids: [16777215 899] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(/proc/filesystems)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ('udev requires a mounted procfs, not started'))}) (C {(log_end_msg)} {(1)}) ] spids: [16777215 915] ) ] spids: [16777215 929] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [(C {(grep)} {(-q)} {(SQ <'[[:space:]]devtmpfs$'>)} {(/proc/filesystems)})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ('udev requires devtmpfs support, not started'))}) (C {(log_end_msg)} {(1)}) ] spids: [16777215 947] ) ] spids: [16777215 961] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(/sys/class/)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_failure_msg)} {(DQ ('udev requires a mounted sysfs, not started'))}) (C {(log_end_msg)} {(1)}) ] spids: [16777215 977] ) ] spids: [16777215 991] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(ps)} {(--no-headers)} {(--format)} {(args)} {(ax)}) (C {(egrep)} {(-q)} {(SQ <'^\\['>)}) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_warning_msg)} {(DQ ('udev does not support containers, not started'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 1019] ) ] spids: [16777215 1033] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-d)} {(/sys/class/mem/null)} {(-a)} {(KW_Bang '!')} {(-L)} {(/sys/class/mem/null)} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-e)} {(/sys/block)} {(-a)} {(KW_Bang '!')} {(-e)} {(/sys/class/block)} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_warning_msg)} {(DQ ('CONFIG_SYSFS_DEPRECATED must not be selected'))}) (C {(log_warning_msg)} {(DQ ('Booting will continue in 30 seconds but many things will be broken'))} ) (C {(sleep)} {(30)}) ] spids: [16777215 1075] ) ] spids: [16777215 1096] ) (command.Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(start)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [{(init_is_upstart)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [(command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})] spids: [16777215 1130] ) ] spids: [16777215 1138] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ (/run/udev/))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(warn_if_interactive)})] spids: [16777215 1157] ) ] spids: [16777215 1163] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-w)} {(/sys/kernel/uevent_helper)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/sys/kernel/uevent_helper)} ) ] ) ] spids: [16777215 1178] ) ] spids: [16777215 1188] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [(C {(mountpoint)} {(-q)} {(/dev/)})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(unmount_devpts)}) (C {(mount_devtmpfs)}) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-d)} {(/proc/1)} {(Lit_Other ']')}) (C {(mount)} {(-n)} {(/proc)}) ] ) ] spids: [16777215 1203] ) ] spids: [16777215 1229] ) (C {(make_static_nodes)}) (C {(udevadm)} {(info)} {(--cleanup-db)}) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-x)} {(/sbin/restorecon)} {(Lit_Other ']')}) (C {(/sbin/restorecon)} {(-R)} {(/dev)}) ] ) (C {(log_daemon_msg)} {(DQ ('Starting ') ($ VSub_DollarName '$DESC'))} {(DQ ($ VSub_DollarName '$NAME'))} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {($ VSub_DollarName '$DAEMON')} {(--daemon)}) terminator: <Op_Semi ';'> ) ] action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [16777215 1290] ) ] else_action: [ (C {(log_warning_msg)} {($ VSub_QMark '$?')}) (C {(log_warning_msg)} {(DQ ('Waiting 15 seconds and trying to continue anyway'))}) (C {(sleep)} {(15)}) ] spids: [1298 1318] ) (C {(log_action_begin_msg)} {(DQ ('Synthesizing the initial hotplug events'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(udevadm)} {(trigger)} {(--action) (Lit_Other '=') (add)}) terminator: <Op_Semi ';'> ) ] action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [16777215 1340] ) ] else_action: [(C {(log_action_end_msg)} {($ VSub_QMark '$?')})] spids: [1348 1356] ) (C {(create_dev_makedev)}) (C {(log_action_begin_msg)} {(DQ ('Waiting for /dev to be fully populated'))}) (command.If arms: [ (if_arm cond: [(command.Sentence child:(C {(udevadm)} {(settle)}) terminator:<Op_Semi ';'>)] action: [(C {(log_action_end_msg)} {(0)})] spids: [16777215 1382] ) ] else_action: [(C {(log_action_end_msg)} {(0)} {(SQ <timeout>)})] spids: [1390 1402] ) ] spids: [1118 1119 1405 16777215] ) (case_arm pat_list: [{(stop)}] action: [ (C {(log_daemon_msg)} {(DQ ('Stopping ') ($ VSub_DollarName '$DESC'))} {(DQ ($ VSub_DollarName '$NAME'))} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(start-stop-daemon)} {(--stop)} {(--name)} {($ VSub_DollarName '$NAME')} {(--user)} {(root)} {(--quiet)} {(--oknodo)} {(--retry)} {(5)} ) terminator: <Op_Semi ';'> ) ] action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [16777215 1448] ) ] else_action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [1456 1464] ) ] spids: [1409 1410 1467 16777215] ) (case_arm pat_list: [{(restart)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [{(init_is_upstart)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [(command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})] spids: [16777215 1483] ) ] spids: [16777215 1491] ) (C {(log_daemon_msg)} {(DQ ('Stopping ') ($ VSub_DollarName '$DESC'))} {(DQ ($ VSub_DollarName '$NAME'))} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(start-stop-daemon)} {(--stop)} {(--name)} {($ VSub_DollarName '$NAME')} {(--user)} {(root)} {(--quiet)} {(--oknodo)} {(--retry)} {(5)} ) terminator: <Op_Semi ';'> ) ] action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [16777215 1529] ) ] else_action: [ (command.AndOr ops: [Op_DPipe] children: [(C {(log_end_msg)} {($ VSub_QMark '$?')}) (C {(true)})] ) ] spids: [1537 1549] ) (C {(log_daemon_msg)} {(DQ ('Starting ') ($ VSub_DollarName '$DESC'))} {(DQ ($ VSub_DollarName '$NAME'))} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {($ VSub_DollarName '$DAEMON')} {(--daemon)}) terminator: <Op_Semi ';'> ) ] action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [16777215 1572] ) ] else_action: [(C {(log_end_msg)} {($ VSub_QMark '$?')})] spids: [1580 1588] ) ] spids: [1471 1472 1591 16777215] ) (case_arm pat_list: [{(reload)} {(force-reload)}] action: [(C {(udevadm)} {(control)} {(--reload-rules)})] spids: [1595 1598 1608 16777215] ) (case_arm pat_list: [{(status)}] action: [ (command.AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(status_of_proc)} {($ VSub_DollarName '$DAEMON')} {($ VSub_DollarName '$NAME')}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {($ VSub_QMark '$?')} ) ] ) ] spids: [1612 1613 1635 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.SimpleCommand words: [ {(echo)} {(DQ ('Usage: /etc/init.d/udev {start|stop|restart|reload|force-reload|status}'))} ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [1639 1640 1658 16777215] ) ] spids: [1109 1115 1660] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )