比如我在 MSYS 里面创建了一个脚本:/usr/bin/perl6 它来调用 perl6 MoarVM, 但是MoarVM 是用VC编译的,需要执行在 Windows CMD里面,脚本内容如下:
#!/bin/bash
/bin/winpty.exe /c/rakudo/bin/moar.exe --execname='C:\rakudo\bin\perl6.bat' --libpath="C:/rakudo/share/nqp/lib" --libpath="C:/rakudo/share/nqp/lib" --libpath="C:/rakudo/share/perl6/lib" --libpath="C:/rakudo/share/perl6/runtime" C:/rakudo/share/perl6/runtime/perl6.moarvm $*
没有 winpty.exe的话, moar.exe 和MinTTY 的交互行为就比较奇怪。关于WinPty的更多信息: https://github.com/rprichard/winpty
Windows 上 Unix PTY 模拟程序的一些介绍: https://blog.toonormal.com/2012/11/17/gcc-msys-mintty-pdcurses-winpty-and-good-times-in-the-shell/
没有评论:
发表评论