文件描述符0的驱动程序中回显位的状态。使用重定向操作符〈将标准输入附加到设备的其他文件。尝试以下实验:
$ ./echostate < /dev/pts/0
$ ./echostate < /etc/passwd
输出
请给我解释一下这些命令的输出。我不知道这些输出的区别。
echostate.c
#include <stdio.h>
#include <termios.h>
#include <stdlib.h>
main()
{
struct termios info;
int rv;
rv = tcgetattr(0, &info);
if (rv == -1) {
perror("tcgetattr");
exit(1);
}
if (info.c_lflag & ECHO)
printf("echo is on, since its bit is 1\n");
else
printf("echo if OFF, since its bit is 0\n");
}
1条答案
按热度按时间62lalag41#
tcgetattr
在文件(/etc/passed
)上没有意义,但仅在某些类型的设备上有意义。这就是错误消息告诉你的。