ruby:给出一个带变量的shell脚本

时间:2015-04-17 10:31:33

标签: ruby shell

实际上我有一个Shellscript,它提供了第二个修改过的脚本,如下所示:

cat <<EOF > $TITEL/de-DE/build.sh
#!/bin/bash
[My Stuff]
EOF

第二个shellcript中有变量。所以这些变量将会解决并输出一个Shellscript。

有可能在红宝石中做这样的事吗?那么ruby会解析变量并产生一个shell脚本吗?

或者将脚本放在我的Gemdirectory中并将其复制到希望的地方是一个更好的解决方案。那么gsub替换可以解决变量吗?

1 个答案:

答案 0 :(得分:0)

Ruby也有heredoc字符串。 &#34;#{}&#34;在heredoc字符串中照常插入。

string = <<EOF
puts '#{__FILE__}' #__FILE__ gets interpolated
#the comments are part of the string
EOF

您可以使用File.write(file_name, string)将字符串写入文件。

#Combined
File.write file_name, <<EOF
#...
EOF