Lines Matching refs:r
200 func (r runner) String() string {
201 cmd := r.cmd
202 if !r.echo {
205 if r.ignoreError {
211 func (r runner) forCmd(s string) runner {
220 r.echo = false
225 r.ignoreError = true
231 r.cmd = s
232 return r
235 func (r runner) eval(ev *Evaluator, s string) ([]runner, error) {
236 r = r.forCmd(s)
237 if strings.IndexByte(r.cmd, '$') < 0 {
239 return []runner{r}, nil
242 expr, _, err := parseExpr([]byte(r.cmd), nil, parseOp{})
244 return nil, ev.errorf("parse cmd %q: %v", r.cmd, err)
253 glog.V(1).Infof("evalcmd: %q => %q", r.cmd, cmds)
261 runners = append(runners, r.forCmd(cmd))
266 func (r runner) run(output string) error {
267 if r.echo || DryRunFlag {
268 fmt.Printf("%s\n", r.cmd)
270 s := cmdline(r.cmd)
275 args := []string{r.shell, "-c", s}
283 if r.ignoreError && exit != 0 {
313 r := runner{
319 rr, err := r.eval(ctx.ev, cmd)
323 for _, r := range rr {
324 if len(r.cmd) != 0 {
325 runners = append(runners, r)
331 r := runner{
336 nrunners = append(nrunners, r.forCmd(o))
363 for _, r := range runners {
364 n.Cmds = append(n.Cmds, r.String())