[zsh]改行のない行が無視されてしまうのはzshの仕様だった件

% echo -n hello
何も出力されない

% echo -n hello | cat
何も出力されない

% echo -n hello > a.txt
空のa.txtが作成される

% printf "1\n2"
1

% printf "1\n2" > a.txt
"2"は保存されない。
画面表示だけならまだしも、パイプとリダイレクトでこれが起こってしまうと思わぬバグになりそうです。

このおせっかい機能を無効にするにはこうすればよいでそうです。
改行なしの行を表示させる
.zshrcにこれを追記
unsetopt promptcr

久々にPerlスクリプトを書いていたときにこの問題に遭遇して、 はじめzshの問題とは気づかず、Perlを疑ってしまいました。
ラリーさんごめんなさい。
参考
zshのある暮らし2 - FAQ@zshスレ - 出力の最終行が表示されない
カテゴリ: