我正在尝试从Ruby脚本设置Bash别名。预期的功能是(来自Ruby脚本):
alias foo="cd /bar/blah"
)但是,使用system
命令不起作用,因为它会启动一个新的子shell。
有什么建议吗?
答案 0 :(得分:1)
你想做什么是不可行的 您正在启动的脚本无法真正改变shell的环境 一种方法是获取ruby脚本的输出并让脚本生成命令。通过这种方式,您可以指示shell实际执行正确的操作。
类似
source $(my_ruby_script.rb)
让脚本改变别名,最后读取并打印出文件。