如何检查标准输入/标准输出是否连接到tcl中的终端

如何检查标准输入/标准输出是否连接到tcl中的终端,tcl,stdout,stdin,Tcl,Stdout,Stdin,我希望我的脚本能够从cron以交互方式运行。在后一种情况下,如果某些环境变量没有初始化,它应该只记录并退出,并且不提示用户输入它们。在C中,我会通过isatty(\u fileno(stdin))检查它,但是在tcl中如何做到这一点呢?tcl wiki建议设置交互式[expr![catch{exec/bin/sh-c{[-t0]}]],但这在Windows上不起作用,原因很明显 [dict exists[fconfigure stdin]-模式]也不起作用,这是我从终端得到的-阻塞1-缓冲线-缓

我希望我的脚本能够从cron以交互方式运行。在后一种情况下,如果某些环境变量没有初始化,它应该只记录并退出,并且不提示用户输入它们。在C中,我会通过isatty(\u fileno(stdin))检查它,但是在tcl中如何做到这一点呢?tcl wiki建议
设置交互式[expr![catch{exec/bin/sh-c{[-t0]}]]
,但这在Windows上不起作用,原因很明显


[dict exists[fconfigure stdin]-模式]
也不起作用,这是我从终端得到的
-阻塞1-缓冲线-缓冲大小4096-编码cp1251-eofchar-自动翻译

我有个坏消息。我已经检查了代码和Windows控制台通道类型处理程序(与非Windows不同,在非Windows上,控制台是串行通道,因此提供
-mode
和其他选项)。因此,没有办法进行检测