【发布时间】:2019-12-18 08:39:12
【问题描述】:
类似于How can I assign the output of a function to a variable using bash?,但略有不同。
如果我有这样的功能:
function scan {
echo "output"
}
...我可以轻松地将它分配给这样的变量:
VAR=$(scan)
现在,如果我的函数需要一个或多个参数,我如何使用“shell 扩展”语法将它们传递给函数?例如。这个:
function greet {
echo "Hello, $1"
}
# Does not work
VAR=$(greet("John Doe"))
上面的内容在我的 bash(版本 5.0.3(1)-release)中产生了这样的错误:
$ ./foo.sh
./foo.sh: command substitution: line 8: syntax error near unexpected token `"John Doe"'
./foo.sh: command substitution: line 8: `greet("John Doe"))'
【问题讨论】: