我有一个奇怪的错误,基本上我已经设置了一个功能来通过盒子上的 SSH 运行远程命令并获取 LAN MAC 地址和一些其他信息。我想将此信息写入 csv 文件。
当我运行 BOXLANMAC=$(remote_command "ifconfig eth0 | grep HWaddr | cut -d' ' -f11")
时,我可以回显 $BOXLANMAC 并获得预期的输出。
但是,当我运行 echo $BOXLANMAC,$BOXLANMAC
时,我得到 ,XX:XX:XX:XX:XX:XX
我希望看到 XX:XX:XX:XX:XX:XX,XX:XX:XX:XX:XX:XX
。我已经尝试了 echo 命令的许多排列,对逗号使用引号和转义字符,但没有任何成功。我确信这真的很简单,我应该能够弄清楚,但谷歌似乎只是让我得到关于用逗号分割字符串的结果。
最佳答案
正如 das.cyklone 和我在上面提到的,您可能想查看远程命令是否返回影响 echo 命令输出的空格。也许使用 tr
从 $boxlanmac 变量中删除任何空格将解决问题。参见 How to trim whitespace from a Bash variable?了解如何做到这一点。
关于linux - 错误回显以逗号分隔的多个数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17790935/