【发布时间】:2020-09-01 08:24:57
【问题描述】:
我了解到CON 名称等同于 Linux 中的/dev/tty。
但是当我使用一个写入这个文件的程序时,它不会打印任何东西,它只能在 Linux 上运行。
我认为我没有正确使用它。
重要提示:我不是在寻找像 fmt.Println 这样的解决方法,我需要能够打印到这个文件,就像我在 Linux 中所做的那样 (@ 987654325@)。
这是程序:
package main
import (
"fmt"
"os"
"runtime"
)
func main() {
var ttyName string
if runtime.GOOS == "windows" {
fmt.Println("*** Using `con`")
ttyName = "con"
} else {
fmt.Println("*** Using `/dev/tty`")
ttyName = "/dev/tty"
}
f, _ := os.OpenFile(ttyName, os.O_WRONLY, 0644)
fmt.Fprintln(f, "*** Stdout redirected")
}
程序在 Linux 中打印 "*** Stdout redirected",但在 Windows 中不打印。
问题与ttyName有关。
我用了con 作为名字,但它似乎不起作用。
我也试过:"con:"、"\\\\.\\con"、"\\\\.\\con:"、"\\\\?\\con" 和 conout。
如何使用它打印到控制台?
我从这个网站获得了一些想法:
https://www.mkssoftware.com/docs/man5/dev_console.5.asp
【问题讨论】: