我想编写一个只从 tty 读取用户输入的程序,而不是像 passwd 和 ssh 那样重定向标准输入管道。有什么办法吗?
非常感谢
最佳答案
你应该尝试直接打开/dev/tty
。这是我确定可以绕过 stdin
重定向的唯一方法。
/dev/tty
通常是指向您的实际 tty 设备的符号链接(symbolic link),它可能是/dev/console
或/dev/tty24
或几乎任何你想要的,这取决于你的系统可能设置的奇怪和美妙的方式。 tty
命令应该能够告诉您它是哪一个(正如使用 ls -al/dev/tty
列出符号链接(symbolic link)本身一样)。
但是只要你打开 dev/tty
进行输入,它应该从你的终端获取输入而不是标准输入流,它可能已经被重定向了。
关于c - 如何强制从 tty 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2771554/