Когда вы запускаете 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 …