我有一个空格分隔的IP字符串,我将其导出到我想要迭代的Vagrant文件。
export IP="10.10.10.10 10.10.10.11"
我想对此执行操作,因此它成为vagrantfile中的一个列表来迭代。
["10.10.10.10", "10.10.10.11"]
这样做的方法是什么?
答案 0 :(得分:2)
尝试在bash中自己解决:
$ export IP="10.10.10.10 10.10.10.11"
$ irb # interactive ruby
> puts ENV['IP'] # make sure IP is not nil
10.10.10.10 10.10.10.11 # output
> IPs = ENV['IP'].split
> puts IPs
Vagrantfile
是一个Ruby脚本,因此您可以在其中使用ENV['IP'].split
答案 1 :(得分:1)
以下内容应该是健全的。您不需要担心字符串开头或结尾处的空格字符填充,也不需要担心空格字符的不规则序列。
"10.10.10.10 10.10.10.11".scan(/\S+/)
# => ["10.10.10.10", "10.10.10.11"]
答案 2 :(得分:1)
您可以直接使用Split,例如
" now's the time".split
=> ["now's", "the", "time"]
>> "10.10.10.10 10.10.10.11".split
=> ["10.10.10.10", "10.10.10.11"]
>> "10.10.10.10 10.10.10.11".split
=> ["10.10.10.10", "10.10.10.11"]
>> " 10.10.10.10 10.10.10.11".split
=> ["10.10.10.10", "10.10.10.11"]
>> "".split
=> []
阅读文档here
要在vagrant文件中包含变量,请参阅this
答案 3 :(得分:0)
以简单的方式使用拆分
"10.10.10.10 10.10.10.11".split(' ')
=> ["10.10.10.10", "10.10.10.11"]