【发布时间】:2015-07-31 09:45:29
【问题描述】:
我有一个 zsh 函数,它将给定参数列表分成两行,用空格分隔:
function foo() {
echo "a b c";
echo "d e f";
}
$foo
a b c
d e f
我想将输出传递给另一个函数,以便它识别为恰好是两个参数。
function bar() {
for i in "$@"
do
echo $i;
done
}
现在它的工作原理是:
$ bar $(foo)
a
b
c
...
我想要什么
$ bar $(foo)
a b c
d e f
我尝试在“引号”和“'双引号'”中回显结果行,但没有结果。
(zsh 5.0.5 (x86_64-apple-darwin14.0))
更新:使用了bar "$(foo)" 语法,现在它似乎只是一个参数:
function bar() {
echo "\$1=";
echo $1;
echo "\$2=";
echo $2;
}
$ bar "$(foo)"
$1=
a b c
d e f
$2=
【问题讨论】: