(command.CommandList children: [ (C {<Id.Lit_Colon ':'>} {<generate>} {<preroot>} {<features>}) (command.Case to_match: {($ Id.VSub_Pound '#')} arms: [ (case_arm pat_list:[{<0>}] action:[] spids:[77 78 80 -1]) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [(C {<eval>} {($ Id.VSub_Number 1)}) (C {<shift>})] spids: [82 83 93 -1] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Simple words: [{<'/etc/preroot'>} {<'/'>} {<'/bin/echo'>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] ) action: [ (command.Simple 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_span_id: 145 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'> ] ) ) ] more_env: [] do_fork: T ) ] spids: [97 108] ) ] else_action: [(C {<echo>} {(DQ <'/* preroot not enabled */'>)})] redirects: [] ) ] )