Bash变量赋值奇怪的行为

我试图写一个bash脚本,而这样做却卡在这里:

我不明白为什么这样做:

MSG=$(pwd)
echo $MSG

输出:

/home/harsh/source/git/trunk

但是这不会:

MSG=$(java -version)
echo $MSG

输出:

空白

请帮忙!

解决方法:

某些命令最后可能需要2& 1才能获取任何输出:

MSG=$(java -version 2>&1)

它将任何标准错误(2)发送到重定向标准输出(1)的任何地方.

上一篇:是否可以直接从php更改php源代码?


下一篇:javascript-如果一个变量从未被使用过,它会自动从内存中释放出来吗?