在Unix中,WHILE命令不从另一个目录中读取文件

时间:2017-11-16 05:22:46

标签: unix while-loop

在Unix,WHILE命令中,我正在尝试读取另一个目录中的文件。但不知何故不起作用,甚至没有抛出任何错误。

while read line
do

echo $line 

done < /tmp/myfile.txt

该文件存在于/ tmp文件夹中,具有所有权限。

1 个答案:

答案 0 :(得分:0)

目前尚不清楚为什么while循环不起作用。通常loopsif条件语法对于不同的shell是不同的。因此,在shell脚本文件的开头,我们总是定义shell这个脚本应该在哪里运行,第一行以#开头。现在执行以下操作并检查可能对您有所帮助。

  

创建一个文件$ vi test.sh   将下面的行放在其中

#!/usr/bin/ksh
filename="/tmp/myfile.txt"

while [ 1 ]
do 
    read -r line       
    if [ ${line:-1} -eq 1 ]; then
        break
    else
        echo $line
    fi
done < "$filename"

#!/usr/bin/ksh
filename="/tmp/myfile.txt"

while read -r line
do
  echo $line
done < "$filename"

保存文件并设置如下所示的权限     $ chmod 777 test.sh

现在运行该文件     $。/ test.sh