【发布时间】:2017-05-03 23:13:17
【问题描述】:
我正在执行命令替换并将结果保存到变量中。但是,命令的结果包含双引号,这导致变量为空。
运行test="$(java -version)" 时,我得到以下结果:
openjdk version "1.8.0_65"
OpenJDK Runtime Environment (build 1.8.0_65-b17)
OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)
但是运行echo $test 会产生一个空行。
【问题讨论】:
-
听起来信息被写入标准错误而不是标准输出。你可以使用
test="$(java -version 2>&1)"