我想显示我正在运行的内容,但是当命令包含空格参数时,它就失败了。
#!/bin/bash
go() {
echo "*** $*"
$* || exit 1
}
go make NAME="Hi Here"
这会出现像
这样的错误行为make NAME=Hi Here
有没有更好的方法来改进go()函数?
答案 0 :(得分:2)
将$ *替换为" $ @":
#!/bin/bash
go() {
echo "*** $*"
"$@" || exit 1
}
go make NAME="Hi Here"