在Unix,WHILE命令中,我正在尝试读取另一个目录中的文件。但不知何故不起作用,甚至没有抛出任何错误。
while read line
do
echo $line
done < /tmp/myfile.txt
该文件存在于/ tmp文件夹中,具有所有权限。
答案 0 :(得分:0)
目前尚不清楚为什么while
循环不起作用。通常loops
,if
条件语法对于不同的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