bash - example_test.go
1 package bash_test
2
3 import (
4 "fmt"
5
6 "vimagination.zapto.org/bash"
7 "vimagination.zapto.org/parser"
8 )
9
10 func Example() {
11 src := `for name in Alice Bob Charlie; do echo "Hello, $name";done`
12
13 tk := parser.NewStringTokeniser(src)
14
15 ast, err := bash.Parse(&tk)
16 if err != nil {
17 fmt.Println(err)
18
19 return
20 }
21
22 ast.Lines[0].Statements[0].Pipeline.CommandOrCompound.Compound.ForCompound.File.Lines[0].Statements[0].Pipeline.CommandOrCompound.Command.AssignmentsOrWords[1].Word.Parts[0].Part.Data = `"Hi, `
23
24 fmt.Printf("%s", ast)
25
26 // Output:
27 // for name in Alice Bob Charlie; do
28 // echo "Hi, $name";
29 // done;
30 }
31