| 2187 | } |
| 2188 | |
| 2189 | func (e *execExpr) eval(app *app, args []string) { |
| 2190 | switch e.prefix { |
| 2191 | case "$": |
| 2192 | log.Printf("shell: %s -- %s", e, args) |
| 2193 | app.runShell(e.value, args, e.prefix) |
| 2194 | case "%": |
| 2195 | log.Printf("shell-pipe: %s -- %s", e, args) |
| 2196 | app.runShell(e.value, args, e.prefix) |
| 2197 | case "!": |
| 2198 | log.Printf("shell-wait: %s -- %s", e, args) |
| 2199 | app.runShell(e.value, args, e.prefix) |
| 2200 | case "&": |
| 2201 | log.Printf("shell-async: %s -- %s", e, args) |
| 2202 | app.runShell(e.value, args, e.prefix) |
| 2203 | default: |
| 2204 | log.Printf("evaluating unknown execution prefix: %q", e.prefix) |
| 2205 | } |
| 2206 | } |
| 2207 | |
| 2208 | func (e *listExpr) eval(app *app, _ []string) { |
| 2209 | for range e.count { |