从Ruby脚本定义bash别名

时间:2015-06-25 00:44:37

标签: ruby bash

我正在尝试从Ruby脚本设置Bash别名。预期的功能是(来自Ruby脚本):

  • 打开〜/ .bash_aliases(或其他东西)
  • 将别名行添加到文件中(例如:alias foo="cd /bar/blah"
  • 来源.bash_aliases
  • 退出Ruby脚本
  • 能够使用新别名

但是,使用system命令不起作用,因为它会启动一个新的子shell。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

你想做什么是不可行的 您正在启动的脚本无法真正改变shell的环境 一种方法是获取ruby脚本的输出并让脚本生成命令。通过这种方式,您可以指示shell实际执行正确的操作。

类似

source $(my_ruby_script.rb)

让脚本改变别名,最后读取并打印出文件。