代码之家  ›  专栏  ›  技术社区  ›  dgo.a

有没有一种方法可以使用“原生”Crystal来确定它是否在交互式shell会话中运行?

  •  1
  • dgo.a  · 技术社区  · 8 年前

    如果Crystal可执行文件正在运行,建议用什么方法来确定它是否在交互式环境中运行?

    例如:

    `tty`.strip != "not a tty"
    

    但是,使用天然水晶。

    1 回复  |  直到 8 年前
        1
  •  1
  •   WPeN2Ic850EU    8 年前

    它是 IO#tty? 方法

    编译一个包含以下内容的文件(foo.cr):

    puts STDIN.tty?
    

    从shell运行它:

    ./foo              # => true
    echo "foo" | ./foo # => false