著作一覧 |
c:\home\arton\test>^P '' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
かっては、プリンターがどうしたというすごくやっかいなエラーになったものだが。
と、出鼻をくじかれたが、次のスクリプトで取りあえずはそれなりにハッピーになるとわかった。
#!/usr/local/bin/ruby -Ks require 'readline' IO.popen("cmd.exe /A", "a") do |cmd| ==begin 以下は無意味(cmdはreadモードではないので動作していない) Thread.start do while s = cmd.gets.rstrip puts s end end ==end while buf = Readline.readline('', true) if buf == 'exit' exit 0 end cmd.puts buf end end
こんなちょろいはずないから、実際に常用するといろいろ問題が出てきそうであるが、とりあえず、^p、^n、^a、^e、^d、^f、^bが使えるだけでも結構なことだ。
不思議なのは、なぜこの状態でTabの補完が使えるのかだけど(つまり使える)、readleinがTabを解釈しているのかな(ちゃんと調べずに取りあえず使ってみたのであった)。(というか出方が違うから、やっぱりreadlineが勝手にやっているのか。bashと同じことなのか)
追記:なんか無茶苦茶便利なんだけど。^kや^y、^rも使えるし。
追記:細かいことは後で考えることにしよう。とりあえずソースを書いたらgithub(readmeの代わりに上のをルートに置いた)
追記:上のリストのThreadの処理はデタラメだったので削除(しょうがないのでコメントアウト)
ジェズイットを見習え |