(command.CommandList children: [ (command.ShFunction name_tok: <k_help2man> name: k_help2man body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'KOALEPHANT_TOOL_VERSION='> (DQ <2.0.0>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'KOALEPHANT_TOOL_DESCRIPTION='> (DQ <'Create a manpage from the help/version output of a executable/script'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'KOALEPHANT_TOOL_OPTIONS='> (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOT>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'Options:\n'> <'\n'> <' -h, --help show this help\n'> < ' -H, --help-command command set the help argument/option to use\n' > < ' -n, --name name set the name to use for the tool\n' > < ' -N, --alt-name name set an alternate name for the tool\n' > < ' -o, --output file set the filename to output to (defaults to stdout)\n' > <' -s, --section section set the manpage section\n'> < ' -S, --source source set the program source (i.e. a company/organisation or project/package name)\n' > <' -v, --version show the version\n'> < ' -V, --version-command command set the version argument/option to use\n' > <'\n'> ] ) ) ] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'KOALEPHANT_TOOL_ARGUMENTS='> (DQ <executable>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'./base.lib.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'./string.lib.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'./bool.lib.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'./fs.lib.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'helpCommand='> (DQ <--help>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'description='> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'section='> (DQ <1>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'source='> (DQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'versionCommand='> (DQ <--version>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'output='> <'/dev/stdout'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'changeDir='> <false>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'alternativeName='> (DQ )}] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<-gt>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (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: <-h> pattern: (pat.Words words:[{<-h>} {<--help>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <k_usage> more_env: [] words: [{<k_usage>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-c> pattern: (pat.Words words:[{<-c>} {<--cd>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'changeDir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'changeDir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'changeDir='> name: changeDir ) op: assign_op.Equal rhs: {<true>} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-H> pattern: (pat.Words words:[{<-H>} {<--help-command>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'helpCommand='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'helpCommand='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'helpCommand='> name: helpCommand ) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_option_requires_arg> more_env: [] words: [ {<k_option_requires_arg>} {(DQ ($ Id.VSub_At '@'))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-d> pattern: (pat.Words words:[{<-d>} {<--description>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'description='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'description='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'description='> name: description ) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_option_requires_arg> more_env: [] words: [ {<k_option_requires_arg>} {(DQ ($ Id.VSub_At '@'))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-N> pattern: (pat.Words words:[{<-N>} {<--alt-name>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'alternativeName='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'alternativeName='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'alternativeName='> name: alternativeName ) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_option_requires_arg> more_env: [] words: [ {<k_option_requires_arg>} {(DQ ($ Id.VSub_At '@'))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-o> pattern: (pat.Words words:[{<-o>} {<--output>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 2))} ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-s> pattern: (pat.Words words:[{<-s>} {<--section>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'section='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'section='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'section='> name: section ) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_option_requires_arg> more_env: [] words: [ {<k_option_requires_arg>} {(DQ ($ Id.VSub_At '@'))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-S> pattern: (pat.Words words:[{<-S>} {<--source>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'source='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'source='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'source='> name:source) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_option_requires_arg> more_env: [] words: [ {<k_option_requires_arg>} {(DQ ($ Id.VSub_At '@'))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-v> pattern: (pat.Words words:[{<-v>} {<--version>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <k_version> more_env: [] words: [{<k_version>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-V> pattern: (pat.Words words:[{<-V>} {<--version-command>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'versionCommand='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'versionCommand='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'versionCommand='> name: versionCommand ) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_option_requires_arg> more_env: [] words: [ {<k_option_requires_arg>} {(DQ ($ Id.VSub_At '@'))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<2>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-> pattern: (pat.Words words:[{<-> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Unknown option: '> (${ Id.VSub_Number 1))}] redirects: [ (Redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.Simple blame_tok: <k_usage> more_env: [] words: [{<k_usage>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--> pattern: (pat.Words words:[{<-->}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Break break>)] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'executable='> (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_fs_resolve> more_env: [] words: [{<k_fs_resolve>} {(DQ (${ Id.VSub_Number 1))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'executableName='> (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_fs_basename> more_env: [] words: [{<k_fs_basename>} {(DQ (${ Id.VSub_Name executable))} {<.sh>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'dir='> (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_fs_dirname> more_env: [] words: [{<k_fs_dirname>} {(DQ (${ Id.VSub_Name executable))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'includeFile='> (DQ (${ Id.VSub_Name dir) <'/'> (${ Id.VSub_Name executableName) <.> (${ Id.VSub_Name section) <.man> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'tmpIncludeFile='> (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_fs_temp_file> more_env: [] words: [{<k_fs_temp_file>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ] 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: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name executable))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'Executable ('> (${ Id.VSub_Name executable) <') not provided'>)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <k_usage> more_env: [] words: [{<k_usage>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [577 592] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {(DQ (${ Id.VSub_Name executable))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-x>} {(DQ (${ Id.VSub_Name executable))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Executable ('> (${ Id.VSub_Name executable) <') not an executable file'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <k_usage> more_env: [] words: [{<k_usage>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [616 649] ) ] 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 '['>} {(${ Id.VSub_Name changeDir)} {<Id.Lit_Equals '='>} {<true>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {(DQ (${ Id.VSub_Name dir))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'executable='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'executable='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'executable='> name:executable) op: assign_op.Equal rhs: { (DQ <'./'> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_fs_basename> more_env: [] words: [{<k_fs_basename>} {(DQ (${ Id.VSub_Name executable))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) ] spids: [677 692] ) ] 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 '['>} {<-z>} {(DQ (${ Id.VSub_Name description))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'description='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'description='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'description='> name: description ) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name executable)} {(${ Id.VSub_Name helpCommand)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-E>} {<-n>} {<-e>} {(SQ <'/^\\s*(Usage|\\s*or):/!p'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <head> more_env: [] words: [{<head>} {<-n>} {<1>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) ] spids: [727 742] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} { (DQ <'[NAME]'> <Id.Lit_BadBackslash '\\'> <'n%s - %s'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <n> ) } { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_string_join> more_env: [] words: [ {<k_string_join>} {(DQ <', '>)} {(${ Id.VSub_Name executableName)} {(${ Id.VSub_Name alternativeName)} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } {(DQ (${ Id.VSub_Name description))} ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name tmpIncludeFile))} ) ] 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: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(DQ (${ Id.VSub_Name includeFile))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(DQ (${ Id.VSub_Name includeFile))}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name tmpIncludeFile))} ) ] do_fork: T ) ] spids: [830 845] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <help2man> more_env: [] words: [ {<help2man>} {<--section>} {(DQ (${ Id.VSub_Name section))} {<--no-info>} {<--include>} {(DQ (${ Id.VSub_Name tmpIncludeFile))} {<--help-option>} {(DQ (${ Id.VSub_Name helpCommand))} {<--version-option>} {(DQ (${ Id.VSub_Name versionCommand))} {<--source>} {(DQ (${ Id.VSub_Name source))} {(DQ (${ Id.VSub_Name executable))} ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name output)} ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <k_help2man> more_env: [] words: [{<k_help2man>} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) ] )