我在Ruby中编写脚本并希望在Zshell的历史记录中插入一个调用Ruby脚本的命令。我已经尝试了这个但它无法访问调用的Zshell(我认为)
#!/usr/bin/env ruby
`zsh -c print -s what`
任何提示?
答案 0 :(得分:1)
您可以采取以下措施:
在完成执行某个命令之后创建一个调用fc -R
的zsh函数,如下所示:
function rb_yourprogram {
ruby /path/to/your/program.rb && fc -R
}
在Ruby中,附加到~/.zsh_history
文件:
File.open("~/.zsh_history", "a") do |f|
f.puts "adds this line to history"
end
现在,您可以通过在zsh中键入rb_yourprogram
来调用该程序,在完成执行后,它将重新加载历史文件,从而将具有这一新的历史记录(除了写入其他zsh实例的任何内容)在你打开第一个shell之后的那段时间里。)
您还可以在zsh中重载ruby
命令,以便在完成执行后始终调用fc -R
:
function ruby {
builtin ruby "$@" && fc -R
}