[英]Ruby open interactive sub process within the shell
我想使用ruby,並在一瞬間打開另一個程序(cfdisk),並讓用戶與其交互,然后返回我的代碼
我可以使用exec "cfdisk; ruby another.rb"
但這是很棘手的,當然不是正確的選擇
我了解Open3
但我不知道如何在用例中正確使用它。 我知道,當我在Windows的irb上使用capture3
時,它說:
[“在虛擬控制台上運行,啟用256 /真彩色支持\\ n”,“不支持屏幕尺寸28640x499;限制為500x500。\\ n檢查TERM環境變量。\\ n”,#]
在Arch中,它打開了它,但是沒有圖形輸出,注冊了擊鍵,它們可以工作(例如mc退出並顯示F10),但是窗口不在那里,只是光標閃爍。
分手立即退出
嘗試過popen3但我也沒有運氣
在這種情況下, system
了什么問題?
exec
ruby命令替換正在運行的進程,因此它不會返回您的代碼。 Open3
庫。 這不是您要找的東西嗎?
puts "here"
system "cfdisk"
puts 'there'
如果您有一些與屏幕相關的問題,則可以使用環境變量中的不同TERM
值解決另一個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.