STDIN和tty有什么区别?

new*_*erl 4 unix perl

TT似乎是我是否读取相同的STDIN/dev/tty,

那有什么区别呢?

Stu*_*att 6

/dev/tty是当前进程的控制终端.STDIN是当前的输入.如果你重定向,例如,

perl script.pl <myfile.txt
Run Code Online (Sandbox Code Playgroud)

STDIN现在将来自myfile.txt,但/dev/tty仍将来自控制终端.这都是UNIX,而不是Perl,而且还有更多的东西,但简而言之,这就是差异.

  • @new_perl:假设你想从文件中读取数据,还要求用户输入密码.或者你想在写入`> file`时显示一个很好的进度条. (3认同)