を「読み取り」改行やbashの末尾:が、この作品は、bashでは、組み込み
echo -n $'a\nb\nc\n' | while read x; do echo = $x =; done
しばらくは三回
= a =
= b =
= c =
をループしかし、従来のを持っていないテキストファイルを想像します末尾の改行。私はread
はまだ3行すべてで動作するはずだと思いますが、そうではありません。私は得る:
echo -n $'a\nb\nc' | while read x; do echo = $x =; done
= a =
= b =
bashでhelp read
が本当に明らかにしません。
注:これは解決する必要はありません。私はそれを自分で修正する方法がいくつかあります。私は不思議で、バグ報告を提出したいと思っています。私は一般的に、新しい行の末尾にないファイルを尊重するよう努めています。 -dオプションを使って読むとき、私はこれを見つけました。 read -d " "
は、改行の代わりにスペースで分割されますが、末尾のスペースがない限り、最後のエントリでは欠落します。
(UbuntuのGNUのbashのは、バージョン4.1.5(1)-release。)
あなたの2番目のスクリプトは、kshで最初のスクリプトとして動作します。がんばろう。 – shellter