如果在文件末尾没有换行符,如何使用`while read`(Bash)读取文件
假设我有以下Bash脚本:
while read SCRIPT_SOURCE_LINE; do echo "$SCRIPT_SOURCE_LINE" done 我注意到,对于没有换行符的文件末尾,这将有效地跳过最后一行。 我搜索了一个解决方案and found this:
我如何重写这个解决方案,使它的行为完全一样的while循环我早些时候,即没有硬编码的输入文件的位置?
在你的第一个例子中,我假设你正在从stdin读取。要做与第二个代码块相同,你只需要删除重定向和echo $ REPLY:
DONE=false until $DONE ;do read || DONE=true echo $REPLY done (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |