由于一些奇怪的原因,我无法从bash中的文件中逐行读取。
我一直使用经典的while read line; do echo $line; done < file.txt
,但它突然停止了工作。
有人知道最近是否有更新bash的更新改变了sintaxis或类似的?
答案 0 :(得分:0)
您的问题并未提供足够的详细信息来诊断问题。但是很公平:你不知道问题是什么,所以你不知道什么是相关的。这是一个变体命令,它可以解决一些更可能的原因,或者可能会解释一些问题:
$ ( unset IFS; while builtin read line; do builtin echo xxx "$line" yyy; done < /etc/motd )
xxx yyy
xxx The programs included with the Debian GNU/Linux system are free software; yyy
xxx the exact distribution terms for each program are described in the yyy
xxx individual files in /usr/share/doc/*/copyright. yyy
xxx yyy
xxx Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent yyy
xxx permitted by applicable law. yyy
你从同一个命令得到什么结果?这里的想法是检查read
或echo
命令是否已转换为别名或shell函数。您也可以使用type echo
和type read
进行检查。