Я могу использовать cat
в качестве очень простого текстового редактора, делая cat > foo.txt
.
Если я тогда наберу:
bar
baz
а затем нажмите ctrl+ D, теперь это выглядит так:
$ cat > foo.txt
bar
baz^D
с курсором на ^
. Если я нажму еще раз, файл будет сохранен. Однако, если я нажимаю что-нибудь (хорошо, может быть, не что-нибудь, но в основном что-нибудь) еще, я просто продолжаю редактировать файл.
Это нормальное поведение?
источник
\n
но можно просто нажать^D
два раза подряд и вызвать условие EOF без генерации окончательного символа новой строки (как при нажатии Enter перед тем, как^D
будет сделано).read()
возвращаться0
, указывая EOF.Да, это нормальное поведение. Один Control-D обычно срабатывает только в начале строки. Это выходит с одним Control-D:
источник