答案1
当您stty -a
从 bash 提示符运行时,您会看到终端设置,而 bash 不读取命令行。
当 bash 读取命令行时,它会更改一些终端设置,包括icrnl
(关闭,因为 bash 需要原始输入,因为它进行自己的输入处理)。 Bash 在运行命令之前恢复原始设置。
要在 bash 提示符下查看终端设置,请记下这是哪个终端,然后stty
从另一个终端运行。例如:
在一个终端中:
bash-4.2$ tty /dev/pts/3 bash-4.2$
在另一个终端中:
$ stty -a </dev/pts/3 … -icrnl …