(command.CommandList children: [ (C {(echo)} {(SQ <'--- supervise starts, svok works, svup works, svstat works, svc -x works'>)}) (command.Sentence child:(C {(supervise)} {(test.sv)}) terminator:<Op_Amp '&'>) (command.WhileUntil keyword: <KW_Until until> cond: [(C {(svok)} {(test.sv)})] body: (command.DoGroup children:[(C {(sleep)} {(1)})]) ) (command.CommandList children: [ (command.Sentence child:(C {(svup)} {(test.sv)}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (command.CommandList children: [ (command.Sentence child:(C {(svup)} {(-l)} {(test.sv)}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (command.CommandList children: [ (command.Sentence child:(C {(svup)} {(-L)} {(test.sv)}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(svstat)} {(test.sv)}) terminator: <Op_Semi ';'> ) (command.Sentence child: (C {(echo)} {($ VSub_QMark '$?')}) terminator: <Op_Semi ';'> ) ] ) ) (C {(filter_svstat)}) ] negated: F ) (command.CommandList children: [ (command.Sentence child:(C {(svc)} {(-x)} {(test.sv)}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(wait)}) (command.CommandList children: [ (command.Sentence child:(C {(svstat)} {(test.sv)}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- svc -ox works'>)}) (command.Sentence child:(C {(supervise)} {(test.sv)}) terminator:<Op_Amp '&'>) (command.WhileUntil keyword: <KW_Until until> cond: [(C {(svok)} {(test.sv)})] body: (command.DoGroup children:[(C {(sleep)} {(1)})]) ) (C {(svc)} {(-ox)} {(test.sv)}) (C {(wait)}) (C {(echo)} {(SQ <'--- svstat and svup work for up services'>)}) (command.Simple words: [{(catexe)} {(test.sv/run)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 189 stdin_parts: [ ('#!/bin/sh\n') ('sleep 1\n') ('svstat .\n') ('echo ') ($ VSub_QMark '$?') ('\n') ('svstat -l .\n') ('echo ') ($ VSub_QMark '$?') ('\n') ('svstat -L .\n') ('echo ') ($ VSub_QMark '$?') ('\n') ('svup .\n') ('echo ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('?\n') ('svup -L .\n') ('echo ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('?\n') ('svup -l .\n') ('echo ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('?\n') ] ) ] ) (command.Sentence child: (command.Pipeline children: [(C {(supervise)} {(test.sv)}) (C {(filter_svstat)})] negated: F ) terminator: <Op_Amp '&'> ) (command.WhileUntil keyword: <KW_Until until> cond: [(C {(svok)} {(test.sv)})] body: (command.DoGroup children:[(C {(sleep)} {(1)})]) ) (C {(svc)} {(-ox)} {(test.sv)}) (C {(wait)}) (C {(echo)} {(SQ <'--- svstat and svup work for logged services'>)}) (command.Simple words: [{(catexe)} {(test.sv/run)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 264 stdin_parts: [ ('#!/bin/sh\n') ('sleep 1\n') ('svstat .\n') ('echo ') ($ VSub_QMark '$?') ('\n') ('svstat -l .\n') ('echo ') ($ VSub_QMark '$?') ('\n') ('svstat -L .\n') ('echo ') ($ VSub_QMark '$?') ('\n') ('svup .\n') ('echo ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('?\n') ('svup -L .\n') ('echo ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('?\n') ('svup -l .\n') ('echo ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('?\n') ] ) ] ) (command.Simple words: [{(catexe)} {(test.sv/log)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 275 stdin_parts: [('#!/bin/sh\n') ('exec cat\n')] ) ] ) (command.Sentence child: (command.Pipeline children: [(C {(supervise)} {(test.sv)}) (C {(filter_svstat)})] negated: F ) terminator: <Op_Amp '&'> ) (command.WhileUntil keyword: <KW_Until until> cond: [(C {(svok)} {(test.sv)})] body: (command.DoGroup children:[(C {(sleep)} {(1)})]) ) (C {(svc)} {(-Lolox)} {(test.sv)}) (C {(wait)}) (C {(rm)} {(-f)} {(test.sv/log)}) (C {(echo)} {(SQ <'--- svc -u works'>)}) (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(SQ <'#!/bin/sh'>)}) terminator: <Op_Semi ';'> ) (command.Sentence child: (C {(echo)} {(echo)} {(first)}) terminator: <Op_Semi ';'> ) (C {(echo)} {(mv)} {(run2)} {(run)}) ] ) redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(test.sv/run)})] ) (C {(chmod)} {(755)} {(test.sv/run)}) (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(SQ <'#!/bin/sh'>)}) terminator: <Op_Semi ';'> ) (command.Sentence child: (C {(echo)} {(echo)} {(second)}) terminator: <Op_Semi ';'> ) (C {(echo)} {(svc)} {(-x)} {(.)}) ] ) redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(test.sv/run2)})] ) (C {(chmod)} {(755)} {(test.sv/run2)}) (command.Sentence child:(C {(supervise)} {(test.sv)}) terminator:<Op_Amp '&'>) (command.WhileUntil keyword: <KW_Until until> cond: [(C {(svok)} {(test.sv)})] body: (command.DoGroup children:[(C {(sleep)} {(1)})]) ) (C {(svc)} {(-u)} {(test.sv)}) (C {(wait)}) ] )