在bash,這個工程:尾隨換行和bash的「讀」內置
echo -n $'a\nb\nc\n' | while read x; do echo = $x =; done
的同時,通過三次
= a =
= b =
= c =
但可以想象,沒有傳統的文本文件循環尾隨換行符。我認爲read
應該仍然適用於所有三條線路,但它不適用。我剛剛得到:
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)
它的價值,你的第二個腳本作爲第一個與ksh。祝你好運。 – shellter 2011-12-22 22:06:25