我在shell脚本(BASH)中使用“while”循环来读取一行文件文件(一个接一个) - “幸运的是,它不工作的次数文件中有线。WHILE循环 - 逐一读取文件的行 - 不工作文件中有行的次数
这里的总结: $猫inputfile.txt
1
2
3
4
5
现在,shell脚本的内容很简单,如下图所示:
#!/bin/bash
while read line
do
echo $line ----------;
done < inputfile.txt;
上述脚本代码工作就好了.. ... :)。它显示来自inputfile.txt的所有5行。
现在,我有另一个脚本其代码是这样的:
#!/bin/bash
while read line
do
echo $line ----------;
somevariable="$(ssh [email protected] "hostname")";
echo $somevariable;
done < inputfile.txt;
现在,在这个脚本,while循环只是只显示一行“1 ------- - “并在显示”$ somevariable“的有效值后从循环退出
任何想法,我在这里失踪。我没有尝试使用一些编号N < inputfile.txt并使用完成< & N方式(即通过使用N描述符指向的文件更改输入重定向器) ....但我很好奇为什么这个简单的脚本不适用于N号。的时候,当我刚刚添加一个简单的变量声明,在子shell中执行“ssh”操作。
谢谢。
难道说你的返回值'$ somevariable'包含EOF标记类型(^ d)? – Floris 2013-05-01 23:41:00
重复[http://stackoverflow.com/questions/16094925/bash-script-fails-to-read-entire-file](http://stackoverflow.com/questions/16094925/bash-script-fails-to -read-entire-file) – 2013-05-02 05:06:41