Bash变量被覆盖

时间:2014-11-25 18:36:08

标签: bash vagrant

我有以下脚本表现得非常奇怪:

#!/bin/bash
function getip()
{
  vagrant ssh $1 -c "ip address show eth1 | grep 'inet ' | sed -e 's/^.*inet //' -e 's/\/.*$//'"
}
node1=$(getip node1)
node2=$(getip node2)
echo $node1 $node2

我期待看到的是:

192.168.0.2 192.168.0.3

但我实际看到的是:

 192.168.0.3

如果我将最后一行更改为:

echo $node1
然后我得到:

192.168.0.2

我的问题是,这里发生了什么?我找到了一些答案,说这可能与子壳有关,但我的印象是,如果我使用了一个函数,这将有效。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

$node1的文字末尾有一个CR。在输出之前将其剥离。