(command.CommandList children: [ (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'/lib/lsb/init-functions'>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-d>} {<'/usr/share/doc/virtualbox'>} {<-a>} {<-x>} {<'/usr/bin/VBoxHeadless'>}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [{<Id.Lit_LBracket '['>} {<-r>} {<'/etc/default/virtualbox'>} {<Id.Lit_RBracket ']'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'/etc/default/virtualbox'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName SHUTDOWN_USERS))} {<Id.Lit_Equals '='>} {(DQ <all>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'SHUTDOWN_USERS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SHUTDOWN_USERS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SHUTDOWN_USERS='> name:SHUTDOWN_USERS) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words:[{<'/tmp/.vbox-'> <Id.Lit_Star '*'> <-ipc>}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'SHUTDOWN_USERS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SHUTDOWN_USERS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'SHUTDOWN_USERS='> name: SHUTDOWN_USERS ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName SHUTDOWN_USERS) <' '> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName i)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cut> more_env: [] words: [{<cut>} {<-d> (SQ <->)} {<-f2>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [123 140] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName LOAD_VBOXDRV_MODULE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<1>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_success_msg> more_env: [] words: [{<log_success_msg>} {(DQ <'virtualbox disabled; edit /etc/default/virtualbox'>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [188 204] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShFunction name_tok: <running> name: running body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (command.Simple blame_tok: <lsmod> more_env: [] words: [{<lsmod>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-q>} {(DQ ($ Id.VSub_Number 1) <'[^_-]'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <start> name: start body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <log_begin_msg> more_env: [] words: [{<log_begin_msg>} {(DQ <'Loading VirtualBox kernel modules...'>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxdrv>}] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <modprobe> more_env: [] words: [{<modprobe>} {<vboxdrv>}] 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>} ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {<'/lib/modules/'> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-r>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } {<-name>} {(DQ <vboxdrv> <Id.Lit_BadBackslash '\\'> <'.*'>)} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-q>} {<vboxdrv>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [ {<log_failure_msg>} {(DQ <'No suitable module for running kernel found'>)} ] redirects: [] do_fork: T ) ] spids: [291 324] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [ {<log_failure_msg>} { (DQ < 'modprobe vboxdrv failed. Please use \'dmesg\' to find out why' > ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [272 288] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_progress_msg> more_env: [] words: [{<log_progress_msg>} {(DQ <vboxdrv>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [260 269] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxnetflt>}] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <modprobe> more_env: [] words: [{<modprobe>} {<vboxnetflt>}] 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>} ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {<'/lib/modules/'> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-r>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } {<-name>} { (DQ <vboxnetflt> <Id.Lit_BadBackslash '\\'> <'.*'> ) } ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-q>} {<vboxnetflt>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [ {<log_failure_msg>} { (DQ < 'No suitable vboxnetflt module for running kernel found' > ) } ] redirects: [] do_fork: T ) ] spids: [406 439] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [ {<log_failure_msg>} { (DQ < 'modprobe vboxnetflt failed. Please use \'dmesg\' to find out why' > ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [387 403] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_progress_msg> more_env: [] words: [{<log_progress_msg>} {(DQ <vboxnetflt>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [375 384] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxnetadp>}] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <modprobe> more_env: [] words: [{<modprobe>} {<vboxnetadp>}] 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>} ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {<'/lib/modules/'> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-r>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } {<-name>} { (DQ <vboxnetadp> <Id.Lit_BadBackslash '\\'> <'.*'> ) } ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-q>} {<vboxnetadp>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [ {<log_failure_msg>} { (DQ < 'No suitable vboxnetadp module for running kernel found' > ) } ] redirects: [] do_fork: T ) ] spids: [521 554] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [ {<log_failure_msg>} { (DQ < 'modprobe vboxnetadp failed. Please use \'dmesg\' to find out why' > ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [502 518] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_progress_msg> more_env: [] words: [{<log_progress_msg>} {(DQ <vboxnetadp>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [490 499] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxpci>}] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <modprobe> more_env: [] words: [{<modprobe>} {<vboxpci>}] 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>} ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <find> more_env: [] words: [ {<find>} {<'/lib/modules/'> (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-r>}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } {<-name>} {(DQ <vboxpci> <Id.Lit_BadBackslash '\\'> <'.*'>)} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-q>} {<vboxpci>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [ {<log_failure_msg>} {(DQ <'No suitable vboxpci module for running kernel found'>)} ] redirects: [] do_fork: T ) ] spids: [636 669] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [ {<log_failure_msg>} { (DQ < 'modprobe vboxpci failed. Please use \'dmesg\' to find out why' > ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [617 633] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_progress_msg> more_env: [] words: [{<log_progress_msg>} {(DQ <vboxpci>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [605 614] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<0>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <stop> name: stop body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <log_begin_msg> more_env: [] words: [{<log_begin_msg>} {(DQ <'Unloading VirtualBox kernel modules...'>)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxnetadp>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <rmmod> more_env: [] words: [{<rmmod>} {<vboxnetadp>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [{<log_failure_msg>} {(DQ <'Cannot unload module vboxnetadp'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [753 765] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_progress_msg> more_env: [] words: [{<log_progress_msg>} {(DQ <vboxnetadp>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [743 750] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxnetflt>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <rmmod> more_env: [] words: [{<rmmod>} {<vboxnetflt>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [{<log_failure_msg>} {(DQ <'Cannot unload module vboxnetflt'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [813 825] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_progress_msg> more_env: [] words: [{<log_progress_msg>} {(DQ <vboxnetflt>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [803 810] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxpci>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <rmmod> more_env: [] words: [{<rmmod>} {<vboxpci>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [{<log_failure_msg>} {(DQ <'Cannot unload module vboxpci'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [873 885] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_progress_msg> more_env: [] words: [{<log_progress_msg>} {(DQ <vboxpci>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [863 870] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxdrv>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <rmmod> more_env: [] words: [{<rmmod>} {<vboxdrv>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_failure_msg> more_env: [] words: [{<log_failure_msg>} {(DQ <'Cannot unload module vboxdrv'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<1>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [933 945] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <log_progress_msg> more_env: [] words: [{<log_progress_msg>} {(DQ <vboxdrv>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [923 930] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <log_end_msg> more_env: [] words: [{<log_end_msg>} {<0>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <stop_vms> name: stop_vms body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <pidof> more_env: [] words: [{<pidof>} {<VBoxSVC>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})] spids: [1018 1031] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'wait='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wait='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'wait='> name:wait) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName SHUTDOWN_USERS)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-d>} {<'/tmp/.vbox-'> ($ Id.VSub_DollarName i) <-ipc>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <export> more_env: [] words: [ {<export>} {<Id.Lit_VarLike 'VBOX_IPC_SOCKETID='> (DQ ($ Id.VSub_DollarName i))} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'VMS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'VMS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'VMS='> name:VMS) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <VBoxManage> more_env: [] words: [{<VBoxManage>} {<--nologo>} {<list>} {<runningvms>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-eq>} {<0>} {<-a>} {<-n>} {(DQ ($ Id.VSub_DollarName VMS))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'VMS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'VMS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'VMS='> name: VMS ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ ($ Id.VSub_DollarName VMS))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-e>} {(SQ <'s/^".*".*{\\(.*\\)}/\\1/'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName SHUTDOWN))} {<Id.Lit_Equals '='>} {(DQ <poweroff>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_action_msg> more_env: [] words: [ {<log_action_msg>} { (DQ <'Powering off remaining VMs from user '> ($ Id.VSub_DollarName i) ) } ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [v] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName VMS)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <VBoxManage> more_env: [] words: [ {<VBoxManage>} {<--nologo>} {<controlvm>} {($ Id.VSub_DollarName v)} {<poweroff>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'wait='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wait='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'wait='> name: wait ) op: assign_op.Equal rhs: {<10>} ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [1155 1172] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName SHUTDOWN))} {<Id.Lit_Equals '='>} {(DQ <acpibutton>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_action_msg> more_env: [] words: [ {<log_action_msg>} { (DQ < 'Sending ACPI power button event to remaining VMs from user ' > ($ Id.VSub_DollarName i) ) } ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [v] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName VMS)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <VBoxManage> more_env: [] words: [ {<VBoxManage>} {<--nologo>} {<controlvm>} {($ Id.VSub_DollarName v)} {<acpipowerbutton>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'wait='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wait='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'wait='> name: wait ) op: assign_op.Equal rhs: {<30>} ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [1213 1230] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName SHUTDOWN))} {<Id.Lit_Equals '='>} {(DQ <savestate>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_action_msg> more_env: [] words: [ {<log_action_msg>} { (DQ <'Saving state of remaining VMs from user '> ($ Id.VSub_DollarName i) ) } ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [v] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName VMS)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <VBoxManage> more_env: [] words: [ {<VBoxManage>} {<--nologo>} {<controlvm>} {($ Id.VSub_DollarName v)} {<savestate>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'wait='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'wait='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'wait='> name: wait ) op: assign_op.Equal rhs: {<30>} ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [1271 1288] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1103 1124] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1062 1075] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName wait))} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <log_action_begin_msg> more_env: [] words: [ {<log_action_begin_msg>} { (DQ <'Waiting for '> ($ Id.VSub_DollarName wait) <' seconds for VM shutdown'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {($ Id.VSub_DollarName wait)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <log_action_end_msg> more_env: [] words: [{<log_action_end_msg>} {<0>}] redirects: [] do_fork: T ) ] spids: [1347 1362] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <dmnstatus> name: dmnstatus body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxdrv>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxnetflt>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxnetadp>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <running> more_env: [] words: [{<running>} {<vboxpci>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'VirtualBox kernel modules are loaded.'>)}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName SHUTDOWN_USERS)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-d>} {<'/tmp/.vbox-'> ($ Id.VSub_DollarName i) <-ipc>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <export> more_env: [] words: [ {<export>} {<Id.Lit_VarLike 'VBOX_IPC_SOCKETID='> (DQ ($ Id.VSub_DollarName i)) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'VMS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'VMS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'VMS='> name: VMS ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <VBoxManage> more_env: [] words: [ {<VBoxManage>} {<--nologo>} {<list>} {<runningvms>} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-eq>} {<0>} {<-a>} {<-n>} {(DQ ($ Id.VSub_DollarName VMS))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'VMS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'VMS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'VMS='> name: VMS ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ ($ Id.VSub_DollarName VMS))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-e>} {(SQ <'s/^".*".*{\\(.*\\)}/\\1/'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'The following VMs are currently running:'>)} ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [v] iterable: (for_iter.Words words: [{($ Id.VSub_DollarName VMS)}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <' '> ($ Id.VSub_DollarName v))} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [1491 1512] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1450 1463] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [1401 1426] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'VirtualBox kernel module is not loaded.'>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<3>} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_Number 1))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <start> pattern: (pat.Words words:[{<start>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <start> more_env: [] words: [{<start>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <stop> pattern: (pat.Words words:[{<stop>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <stop_vms> more_env: [] words: [{<stop_vms>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <stop> more_env: [] words: [{<stop>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <stop_vms> pattern: (pat.Words words:[{<stop_vms>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <stop_vms> more_env: [] words: [{<stop_vms>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <restart> pattern: (pat.Words words:[{<restart>} {<force-reload>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.Simple blame_tok: <stop_vms> more_env: [] words: [{<stop_vms>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <stop> more_env: [] words: [{<stop>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start> more_env: [] words: [{<start>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <status> pattern: (pat.Words words:[{<status>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <dmnstatus> more_env: [] words: [{<dmnstatus>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Usage: '> ($ Id.VSub_Number 0) <' {start|stop|stop_vms|restart|force-reload|status}'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] )