Потому что в linux echo<ENTER>
отобразит новую строку.
в окнах это было бы echo.
(эхо / тоже работает, а некоторые другие вещи работают)
это будет похоже на ввод, когда вы получите приглашение.
различные вещи могут выходить из приглашения ... выводить символы (символы), а затем, когда ввода больше нет, приглашение завершается. По трубопроводу вводит его, он берет этот ввод вместо того, чтобы запрашивать ввод с клавиатуры и ожидать, например, Ctrl-Z в Windows. (ctrl-d в начале строки в linux тоже сделает это, я только что проверил это и упомянуто здесь https://unix.stackexchange.com/questions/16333/how-to-signal-the-end -вход-ввод )
Как правило, при получении приглашения иногда может срабатывать отображение любого символа, например, если вы выполняете dir /p
и получаете приглашение "Нажмите любую клавишу для продолжения". Тогда попробуйте echo a| dir /p
и он покажет список и нажмите клавишу для вас.
Но посмотрите с помощью такой команды, работает ли она только для ENTER или для других клавиш, и еще нужно искать, ищет ли она конец ввода. Например, https://stackoverflow.com/questions/33814493/why-cant-this-c-sharp-program-be-piped-to-like-the-more-command-and-what-c
Так что в Windows, если вы наберете больше, вы получите приглашение. если вы набираете какие-то символы, он видит их как введенные и выводит их, что делает больше, но не завершается. Однако, если вы выводите даже один символ на большее число, например, на echo a|more
чем оно завершается, и это потому, что это приглашение, которое завершит / прекратит попытки чтения стандартного ввода, когда больше нет символов, которые нужно ввести.
Также, если вы хотите увидеть, что было отражено, вы можете использовать xxd, например, в windows, повторить | xxd -p, и вы увидите, что он отправил 'a' и пробел. Вы бы это увидели, если бы вы отказались от эха a> aa, тогда dir aa увидели, что это два байта. Вы можете получить xxd от cygwin или vim7, и, конечно, для linux.