(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CONFIG)
          op: assign_op.Equal
          rhs: {<Release>}
          spids: [4]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SRC)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<dirname>} {($ Id.VSub_Number '$0')})
              ) <'/src'>
            }
          spids: [7]
        )
      ]
    )
    (C {<set>} {<-ex>})
    (C {<echo>} {<Building>} {<relevant>} {<projects.>})
    (C {<dotnet>} {<build>} {<-c>} {($ Id.VSub_DollarName '$CONFIG')} 
      {($ Id.VSub_DollarName '$SRC') <'/Google.Protobuf'>} {($ Id.VSub_DollarName '$SRC') <'/Google.Protobuf.Test'>} 
      {($ Id.VSub_DollarName '$SRC') <'/Google.Protobuf.Conformance'>}
    )
    (C {<echo>} {<Running>} {<tests.>})
    (C {<dotnet>} {<test>} {<-c>} {($ Id.VSub_DollarName '$CONFIG')} {<-f>} {<netcoreapp1.0>} 
      {($ Id.VSub_DollarName '$SRC') <'/Google.Protobuf.Test'>}
    )
  ]
)