file 2)写一个脚本(bash环境)读该文件: $cat f1 #!/bin/bash while read a do echo $a done < file " />
红联Linux门户
Linux帮助

shell编程~遇到了一个问题~谁能解释一下啊

发布时间:2010-11-17 17:35:25来源:红联作者:glemr
我在编写程序的过程中遇到的问题,我把问题简化了一下如下:
1)生成一个文件:
$echo -n "abcd">file
2)写一个脚本(bash环境)读该文件:
$cat f1
#!/bin/bash
while read a
do
echo $a
done < file

发现读不到任何数据唉~~~
但是,如果不用while语句的话就能读到:
$cat f2
#!/bin/bash
read a < file
echo $a
我试了好久发现跟我echo语句中的'-n'有关,加了这个选项之后用while语句就读不到数据了。这是为什么呢??期待高手解答!谢谢!
文章评论

共有 6 条评论

  1. jieyuhumark 于 2010-11-22 18:37:51发表:

    学习

  2. dam新 于 2010-11-22 18:29:33发表:

    今天长见识了!

  3. guangzhisuhong 于 2010-11-18 16:57:08发表:

    沙发正解

  4. glemr 于 2010-11-18 11:44:06发表:

    不过为什么不用while语句的时候用read能读到呢?

  5. glemr 于 2010-11-18 11:43:13发表:

    明白了

  6. linuxcn 于 2010-11-17 18:57:22发表:

    read 命令 是读取1 行直到换行负番号。
    echo -n 去掉换行符, 所以读不进来