(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:tmp)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [4]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:file)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name tmp>
                suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonEquals ':='> arg_word:{<VERSION>})
              )
            }
          spids: [7]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:gitver)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (command.Simple
                        words: [{<git>} {<describe>}]
                        redirects: [
                          (redir
                            op: <Id.Redir_Great '2>'>
                            loc: (redir_loc.Fd fd:2)
                            arg: {<'/dev/null'>}
                          )
                        ]
                        do_fork: T
                      )
                      (C {<tr>} {<->} {<.>})
                    ]
                    negated: F
                  )
              )
            }
          spids: [14]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:filever)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Simple
                    words: [{<cat>} {(${ Id.VSub_Name file)}]
                    redirects: [
                      (redir
                        op: <Id.Redir_Great '2>'>
                        loc: (redir_loc.Fd fd:2)
                        arg: {<'/dev/null'>}
                      )
                    ]
                    do_fork: T
                  )
              )
            }
          spids: [32]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:version)
          op: assign_op.Equal
          rhs: {(${ Id.VSub_Name gitver)}
          spids: [45]
        )
      ]
    )
    (C {<Id.Lit_Colon ':'>} 
      {
        (braced_var_sub
          token: <Id.VSub_Name version>
          suffix_op: 
            (suffix_op.Unary
              tok: <Id.VTest_ColonEquals ':='>
              arg_word: {($ Id.VSub_DollarName '$filever')}
            )
        )
      }
    )
    (C {<echo>} {(DQ ($ Id.VSub_DollarName '$version'))})
  ]
)