Perl中的TTY,解释和一些例子

时间:2013-07-29 03:23:03

标签: perl debugging terminal tty

所以我尝试在另一个perl调试器中运行perl调试器。我在perl中继续阅读是解决方案。有人可以向我解释一下tty意味着什么(它是终端类型?)以及它有什么用?这是我读到的地方: http://search.cpan.org/~rjbs/perl-5.18.0/lib/perl5db.pl# $ CreateTTY 我试图使用tty的原因是因为我问这个问题: Pass argument to perl file in debugger and set breakpoint in file executed by system 感谢所有回答的人,你们告诉我它的含义越多,我得到的想法就越好:)

1 个答案:

答案 0 :(得分:0)

TTY(电传打字机的简称)基本上是连接到终端的特殊输入或输出文件句柄 - 即用户输入。有关详细信息,请参阅:


这是你需要知道的初学者(很难说更多,因为你没有解释你需要用TTY做什么):

  • 在Unix上,它通常映射到/dev/tty设备或类似的

  • 您可以{2}在Perl中使用-t


就调试器而言,至少需要知道2件事情(如果你打算玩TTY,最后一段是最重要的)。所有数据都近似引自test for it

  1. p expr打印到$DB::OUT文件句柄( STDOUT),而{strong> /dev/tty则向LineInfo打开。

    认为这可能会受到来自PERLDB_OPTS的{​​{1}}选项的控制,但从未使用它,所以不确定。

  2. 可能会受到以下$ENV{PERLDB_OPTS}选项的影响:

    • TTY - 用于调试I / O的TTY。

    • noTTY - 如果设置,调试器将进入NonStop模式,不会连接到TTY。如果被中断(或者如果控制通过Perl脚本中的$ DB :: signal或$ DB :: single的显式设置进入调试器),它将连接到启动时在TTY选项中指定的TTY,或连接到在运行时使用您选择的Term::Rendezvous模块。

      此模块应实现一个名为new的方法,该方法返回一个具有两种方法的对象:IN和OUT。这些应该返回文件句柄,用于相应地调试输入和输出。新方法应该在启动时检查包含$ ENV {PERLDB_NOTTY}值的参数,否则检查“$ ENV {HOME} / .perldbtty $$”。此文件未经过正确的所有权检查,因此理论上可能存在安全隐患。