将哈希从 ruby 传递到 bash 脚本



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

所以如果我想要类似的东西..

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

在狂欢方面我需要什么?

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

EDIT2:通过"关心大小",我的意思是哈希/数组每次都会有不同的元素数量。 抱歉不清楚

您可以从 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)

最新更新