我有以下脚本表现得非常奇怪:
#!/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
我的问题是,这里发生了什么?我找到了一些答案,说这可能与子壳有关,但我的印象是,如果我使用了一个函数,这将有效。有什么想法吗?
答案 0 :(得分:1)
在$node1
的文字末尾有一个CR。在输出之前将其剥离。