如何在bash中将变量作为临时文件传递给命令

如何在bash中将变量作为临时文件传递给命令,bash,Bash,存在一个命令foo,该命令需要两个参数,即文件名和在stdout上打印一些内容 我有一个Bash脚本,其中有两个变量a和b包含两个字符串 我希望传递给foo两个文件名,其中这些文件的内容是a和b。然后我想将stdout存储为一个新变量c 在临时谷歌搜索之后,脚本可能看起来像: a=...; b=...; c=`foo <($a) <($b)`; a=。。。; b=。。。; c=`fooa=。。。 b=。。。 c=$(foo尝试使用echo-e a=... b=... c=$(foo

存在一个命令
foo
,该命令需要两个参数,即文件名和在stdout上打印一些内容

我有一个Bash脚本,其中有两个变量
a
b
包含两个字符串

我希望传递给
foo
两个文件名,其中这些文件的内容是
a
b
。然后我想将stdout存储为一个新变量
c

在临时谷歌搜索之后,脚本可能看起来像:

a=...;
b=...;
c=`foo <($a) <($b)`;
a=。。。;
b=。。。;
c=`foo
a=。。。
b=。。。

c=$(foo尝试使用
echo-e

a=...
b=...
c=$(foo <(echo -e "$a") <(echo -e "$b"))

echo -e "$c"
a=。。。
b=。。。

c=$(foo不幸的是,如果
$a
$b
中有换行符,则此操作不起作用。如果打印出来,请确保引用
“$c”
echo“$c”
而不是
echo$c
。根据
a
b
的设置方式,可以替换

a=...
b=...
c=$(foo <(echo -e "$a") <(echo -e "$b"))

echo -e "$c"