是否可以将命令的结果输出到文件并设置变量,所有这些都在同一个命令中?
以下将输出附加到文件,但不会设置var.
for i in myarray; do
var=$(command >> file)
done
Run Code Online (Sandbox Code Playgroud)
不确定这是否可行.
以下将发送输出file以及设置var:
var=$(command | tee -a file)
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为tee重复输出command.附加一个副本,file而另一个副本发送到stdout.命令替换,$(...)捕获该stdout并将其保存var.