入力リダイレクト(<)に改行文字が追加されますか?

入力リダイレクト(<)に改行文字が追加されますか?

私の最初の印象はこれでした。

$ ./myprog
moo[CTRL-D]

まったく同じ

$ echo moo > cow
$ ./myprog < cow

しかし、私は最初のバージョンよりも2番目のバージョンに常にmyprog1つがあることを発見しました。\nなぜこれですか?

知っているとwc同じことをします...

$ wc -l
moo[CTRL-D]0

(明らかにゼロラインは可能ですか?)

$ echo moo > cow
$ wc -l < cow
1

誰でも私にこれを説明できますか?

答え1

echo-n改行を追加しないように指示しない限り、前または\c末尾に入れるか-e、前に入れて改行を追加します。そして \c最後に…あなたはあらゆる種類のエコーを知りたくありません。それを使用した後は、printf moo > cow行のないファイルを取得します。

関連情報