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
答案 0 :(得分:3)
使用 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)
答案 1 :(得分:1)
尝试同时在一行中同时进行这是非常不自然的。使用两行。请注意,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)