(command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} { (DQ (X) (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Subshell child: (C {(echo)} {(SQ <'\\t'>)}) redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] spids: [65 71] ) ] ) left_token: <Left_Backtick '`'> spids: [64 75] ) ) } {(Lit_Other '=')} {(SQ <'X\\t'>)} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:echo spids:[88]) op: Equal rhs: {(SQ <echo>)} spids: [88] ) ] spids: [88] ) ] spids: [16777215 85] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} { (DQ (X) (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Subshell child: (C {(printf)} {(SQ <'%s\\n'>)} {(SQ <'\\t'>)}) redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] spids: [103 113] ) ] ) left_token: <Left_Backtick '`'> spids: [102 117] ) ) } {(Lit_Other '=')} {(SQ <'X\\t'>)} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:echo spids:[130]) op: Equal rhs: {(SQ <'printf %s\\n'>)} spids: [130] ) ] spids: [130] ) ] spids: [16777215 127] ) ] else_action: [ (command.FuncDef name: echo_func body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOT)} here_end_span_id: 155 stdin_parts: [($ VSub_Star '$*') ('\n')] ) ] ) ] spids: [144] ) spids: [139 143] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:echo spids:[160]) op: Equal rhs: {(SQ <echo_func>)} spids: [160] ) ] spids: [160] ) ] spids: [136 166] ) ] spids: [93 168] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-z)} { (DQ (word_part.BracedVarSub token: <VSub_Name ZSH_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_Plus arg_word:{(set)}) spids: [196 200] ) ) } ) terminator: <Op_Semi ';'> ) ] action: [ (command.Case to_match: {(DQ ($ VSub_Number '$0'))} arms: [ (case_arm pat_list: [ {(gettext.sh)} {(Lit_Other '*') (/gettext.sh)} {(Lit_Other '*') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (gettext.sh) } ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:progname spids:[251]) op: Equal rhs: {($ VSub_Number '$0')} spids: [251] ) ] spids: [251] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:package spids:[255]) op: Equal rhs: {(gettext-runtime)} spids: [255] ) ] spids: [255] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:version spids:[259]) op: Equal rhs: {(0.19.7)} spids: [259] ) ] spids: [259] ) (command.FuncDef name: func_usage body: (command.BraceGroup children: [ (C {(echo)} { (DQ ('GNU gettext shell script function library version ') ($ VSub_DollarName '$version') ) } ) (C {(echo)} {(DQ ('Usage: . gettext.sh'))}) ] spids: [277] ) spids: [271 275] ) (command.FuncDef name: func_version body: (command.BraceGroup children: [ (C {(echo)} { (DQ ($ VSub_DollarName '$progname') (' (GNU ') ($ VSub_DollarName '$package') (') ') ($ VSub_DollarName '$version') ) } ) (C {(echo)} { (DQ ('Copyright (C) 2003-2007 Free Software Foundation, Inc.\n') ( 'License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>\n' ) ('This is free software: you are free to change and redistribute it.\n') ('There is NO WARRANTY, to the extent permitted by law.') ) } ) (C {(echo)} {(DQ ('Written by'))} {(DQ ('Bruno Haible'))}) ] spids: [312] ) spids: [306 310] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(1)}) terminator: <Op_Semi ';'> ) ] action: [ (command.Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(--help)} {(--hel)} {(--he)} {(--h)}] action: [ (command.Sentence child: (C {(func_usage)}) terminator: <Op_Semi ';'> ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] spids: [373 387 397 16777215] ) (case_arm pat_list: [ {(--version)} {(--versio)} {(--versi)} {(--vers)} {(--ver)} {(--ve)} {(--v)} ] action: [ (command.Sentence child: (C {(func_version)}) terminator: <Op_Semi ';'> ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(0)} ) ] spids: [400 426 436 16777215] ) ] spids: [364 370 439] ) ] spids: [16777215 361] ) ] spids: [16777215 442] ) (command.SimpleCommand words: [{(func_usage)}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [236 248 456 16777215] ) ] spids: [227 233 459] ) ] spids: [16777215 204] ) ] spids: [16777215 461] ) (command.FuncDef name: eval_gettext body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(gettext)} {(DQ ($ VSub_Number '$1'))}) (command.Subshell child: (command.CommandList children: [ (command.Sentence child: (C {(export)} {(PATH)} { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(envsubst)} {(--variables)} {(DQ ($ VSub_Number '$1'))}) ] ) left_token: <Left_Backtick '`'> spids: [494 502] ) } ) terminator: <Op_Semi ';'> ) (C {(envsubst)} {(DQ ($ VSub_Number '$1'))}) ] ) spids: [489 510] ) ] negated: F ) ] spids: [478] ) spids: [473 477] ) (command.FuncDef name: eval_ngettext body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(ngettext)} {(DQ ($ VSub_Number '$1'))} {(DQ ($ VSub_Number '$2'))} {(DQ ($ VSub_Number '$3'))} ) (command.Subshell child: (command.CommandList children: [ (command.Sentence child: (C {(export)} {(PATH)} { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(envsubst)} {(--variables)} {(DQ ($ VSub_Number '$1') (' ') ($ VSub_Number '$2'))} ) ] ) left_token: <Left_Backtick '`'> spids: [553 563] ) } ) terminator: <Op_Semi ';'> ) (C {(envsubst)} {(DQ ($ VSub_Number '$1') (' ') ($ VSub_Number '$2'))}) ] ) spids: [548 573] ) ] negated: F ) ] spids: [529] ) spids: [524 528] ) ] )