如何回显 bash 中字符串后面的变量?
How to echo a variable following a string in bash?
我需要在一些 xml 节点之间打印“ssh -V”命令的输出。我希望它看起来像
<sshname>OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017</sshname>
但是下面的代码在节点之前打印命令的输出。
sshname=$(ssh -V)
echo "<sshname> $sshname</sshname>"
结果:
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
<sshname> </sshname>
为什么会这样?我该如何解决?
也将 ssh 的 stderr (2) 重定向到 stdout (1):
sshname=$(ssh -V 2>&1)
我需要在一些 xml 节点之间打印“ssh -V”命令的输出。我希望它看起来像
<sshname>OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017</sshname>
但是下面的代码在节点之前打印命令的输出。
sshname=$(ssh -V)
echo "<sshname> $sshname</sshname>"
结果:
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
<sshname> </sshname>
为什么会这样?我该如何解决?
也将 ssh 的 stderr (2) 重定向到 stdout (1):
sshname=$(ssh -V 2>&1)