1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/sample/pty/script.rb
kazu af2009a58f sample/pty/script.rb: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 06:49:06 +00:00

37 lines
560 B
Ruby

# frozen_string_literal: true
require 'pty'
if ARGV.size == 0 then
ofile = "typescript"
else
ofile = ARGV[0]
end
logfile = File.open(ofile,"a")
system "stty -echo raw lnext ^_"
PTY.spawn("/bin/csh") do |r_pty,w_pty,pid|
Thread.new do
while true
w_pty.print STDIN.getc.chr
w_pty.flush
end
end
begin
while true
c = r_pty.sysread(512)
break if c.nil?
print c
STDOUT.flush
logfile.print c
end
rescue
# print $@,':',$!,"\n"
logfile.close
end
end
system "stty echo -raw lnext ^v"