(command.CommandList children: [ (C {(.)} {(../src/shflags)}) (C {(DEFINE_boolean)} {(SQ <force>)} {(false)} {(SQ <'force overwriting'>)} {(SQ <f>)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:FLAGS_HELP spids:[91]) op: Equal rhs: {(DQ ('USAGE: ') ($ VSub_Number '$0') (' [flags] filename'))} spids: [91] ) ] spids: [91] ) (command.FuncDef name: write_date body: (command.BraceGroup children: [ (command.SimpleCommand words: [{(date)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Number '$1'))} ) ] ) ] spids: [104] ) spids: [100 103] ) (command.FuncDef name: die body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')}) (command.SimpleCommand words: [{(echo)} {(DQ ('error: ') ($ VSub_At '$@'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (C {(flags_help)}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [121] ) spids: [117 120] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(FLAGS)} {(DQ ($ VSub_At '$@'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (C {(eval)} {(set)} {(--)} {(DQ (${ VSub_Name FLAGS_ARGV))}) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')}) (C {(die)} {(SQ <'filename missing'>)}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:filename spids:[207]) op: Equal rhs: {($ VSub_Number '$1')} spids: [207] ) ] spids: [207] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-f)} {(DQ (${ VSub_Name filename))} {(-a)} {(${ VSub_Name FLAGS_force)} {(-eq)} {(${ VSub_Name FLAGS_FALSE)} {(Lit_Other ']')} ) (C {(die)} {(SQ <'filename exists; not overwriting'>)}) ] ) (C {(write_date)} {(DQ (${ VSub_Name filename))}) ] )