[英]Add Command to Zsh History from Ruby Script
我正在用Ruby編寫腳本,並想在Zshell的歷史記錄中插入一個調用Ruby腳本的命令。 我已經嘗試過了,但是它無法訪問調用Zshell的程序(我認為)
#!/usr/bin/env ruby
`zsh -c print -s what`
有什么提示嗎?
可以執行此操作的一種方法如下:
創建一個zsh函數,該函數在完成執行以下命令后將調用fc -R
,如下所示:
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實例中寫入的任何內容)。第一個外殼)。
您還可以在zsh中重載ruby
命令,以便在執行完后始終調用fc -R
:
function ruby {
builtin ruby "$@" && fc -R
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.