(command.CommandList children: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>} {<generate>} {<preroot>} {<features>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Pound '#')}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0> pattern: (pat.Words words:[{<0>}]) middle: <Id.Right_CasePat _> action: [] 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: <eval> more_env: [] words: [{<eval>} {($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <'/etc/preroot'> more_env: [] words: [{<'/etc/preroot'>} {<'/'>} {<'/bin/echo'>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<Id.KW_Bang '!'>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'#pragma prototyped\n'> <'\n'> <'#define FS_PREROOT\t1\t\t\t/* preroot enabled\t*/\n'> <'#define PR_BASE\t\t'> <Id.Right_DoubleQuote '"'> <CCS> <Id.Right_DoubleQuote '"'> <'\t\t\t/* preroot base env var\t*/\n'> <'#define PR_COMMAND\t'> <Id.Right_DoubleQuote '"'> <'/etc/preroot'> <Id.Right_DoubleQuote '"'> <'\t\t/* the preroot command\t*/\n'> <'#define PR_REAL\t\t'> <Id.Right_DoubleQuote '"'> <'/dev/..'> <Id.Right_DoubleQuote '"'> <'\t\t/* real root pathname\t*/\n'> <'#define PR_SILENT\t'> <Id.Right_DoubleQuote '"'> <CCSQUIET> <Id.Right_DoubleQuote '"'> <'\t\t/* no command trace\t*/\n'> <'\n'> <'extern char*\t\tgetpreroot(char*, const char*);\n'> <'extern int\t\tispreroot(const char*);\n'> <'extern int\t\trealopen(const char*, int, int);\n'> <'extern void\t\tsetpreroot(char**, const char*);\n'> <'\n'> ] ) ) ] do_fork: T ) ] spids: [97 108] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'/* preroot not enabled */'>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] )