Bash如何初始化变量并将其值输出到一行中的文件中

问题描述 投票:1回答:2
PV=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' exec:exec)
PV >> test.txt

我想将其变成单线,这样它既可以初始化变量,也可以将其值输出到test.txt

类似这样的东西,但是不起作用:

PV=$($(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' exec:exec)) >> test.txt
bash shell
2个回答
0
投票

尝试同时在一行中同时执行这两种操作真的很不自然。使用两行。请注意,PV >> test.txt不起作用。您需要在其中输入echo

PV=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' exec:exec)
echo "$PV" >> test.txt

如果您真的想一行完成,可以使用tee,但我不建议这样做。两行更容易阅读。

PV=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' exec:exec | tee -a test.txt)

0
投票

使用tee命令

PV=$(echo XXX | tee test.txt)

现在text.txt包含XXX,变量PV的值也为XXX。在您的情况下,我猜命令应该是:

PV=$(mvn -q -Dexec.executable="echo" -Dexec.args='${project.version}' exec:exec | tee test.txt)
© www.soinside.com 2019 - 2024. All rights reserved.