我想显示自己正在运行的内容,但是当命令包含空格参数时,它失败了。
#!/bin/bash
go() {
echo "*** $*"
$* || exit 1
}
go make NAME="Hi Here"
会出现错误的行为,例如
make NAME=Hi Here
是否有更好的方法来改进GO()函数?
用" $@"替换$*:
#!/bin/bash
go() {
echo "*** $*"
"$@" || exit 1
}
go make NAME="Hi Here"