我有一個奇怪的錯誤,基本上我已經設置了一個函數來在一個盒子上通過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命令的排列,對逗號使用引號和轉義字符,但沒有取得任何成功。我確信這很簡單,我應該能夠弄清楚,但谷歌似乎只是得到了關於逗號分割字符串的結果。
奇怪。我重現了你在Linux機器上做的事情(儘管在本地,而不是遠程),並且當我做了echo $ boxlanman,$ boxlanmac'時,我得到了預期的輸出結果。我想知道是否當你遠程執行它時,可能會有一些奇怪的空白字符(如tab,cr或lf)在命令輸出的開始或結尾返回,該命令將分配給$ boxlanmac,並在$ boxlanmac變量被回顯時影響輸出。 – mti2935