从ruby传递哈希到bash脚本?

时间:2012-06-25 04:48:13

标签: ruby bash shell hashtable

我正在尝试将值从ruby哈希值传递给bash脚本..最好的方法是什么? ruby中的大小和键/值对总是不同的。

所以,如果我想要像...那样的东西。

 hsh = {"key1"=>"value1", "key2"=>"value2"}
 %x[sh script.sh #{hsh}]

在bash方面我需要什么?

编辑:如果ruby端的哈希不起作用,我可以使用另一种数据结构,我关心的是容器(哈希/数组)的大小总是不同的。

EDIT2:“关心大小”我的意思是哈希/数组每次都会有不同数量的元素。对不起来感到抱歉

1 个答案:

答案 0 :(得分:1)

您可以从Ruby脚本中打印值并在Bash脚本中读取它们。您将需要Bash 4才能使用关联数组,或者您可以迭代值并在读取时对其进行操作。为什么不在Ruby脚本中用Bash做你想做的事呢?

# works with Bash 3 or 4
while read -r key value
do
    echo "$key $value"   # act on the keys and values
done < <(ruby-script)