1

我想显示我正在运行的内容,但是当命令包含空格参数时,它失败了。

#!/bin/bash
go() {
  echo "*** $*"
  $* || exit 1
}
go make NAME="Hi Here"

这会得到错误的行为,比如

make NAME=Hi Here

有没有更好的方法来改进 go() 函数?

4

1 回答 1

2

将 $* 替换为 "$@":

#!/bin/bash
go() {
  echo "*** $*"
  "$@" || exit 1
}
go make NAME="Hi Here"
于 2012-11-09T03:09:02.157 回答