使用Ruby将文件源代码转换为当前shell

时间:2013-07-08 00:25:23

标签: ruby shell

我有一个生成自定义rc文件的Ruby脚本(比如genrc.rb)(比如~/.custom_rc)。如何通过运行ruby脚本将此文件导入当前shell?

$ ruby genrc.rb
$ # commands from the ~/.custom_rc should be available here

1 个答案:

答案 0 :(得分:3)

Ruby脚本(或任何程序,就此而言)不能改变启动它的shell,所以你要么必须运行

source ~/.custom_rc

运行脚本后,或让脚本也将文件的内容输出到stdout,在这种情况下你可以做到

source <(ruby genrc.rb)

eval "$(ruby genrc.rb)"

脚本也可以改为输出写入文件的路径,你可以这样做:

source $(ruby genrc.rb)