使用shell脚本逐行读取文件 #/bin/bash 读行时;做 grep“$line”file1.txt 如果[$状态-等式1] echo“$line”>>f2.txt 完成
当我执行包含上述脚本的shell脚本时。我发现以下错误:使用shell脚本逐行读取文件 #/bin/bash 读行时;做 grep“$line”file1.txt 如果[$状态-等式1] echo“$line”>>f2.txt 完成,shell,sh,Shell,Sh,当我执行包含上述脚本的shell脚本时。我发现以下错误: #!/bin/bash while read line; do grep "$line" file1.txt if [ $status -eq 1] echo "$line" >> f2.txt done < f3.txt /test.sh:第7行:意外标记“完成”附近的语法错误 ./test.sh:第7行:`done
#!/bin/bash
while read line; do
grep "$line" file1.txt
if [ $status -eq 1]
echo "$line" >> f2.txt
done < f3.txt
/test.sh:第7行:意外标记“完成”附近的语法错误
./test.sh:第7行:`done
谁能帮我解释一下为什么会出现这个错误吗?#/bin/bash
./test.sh: line 7: syntax error near unexpected token `done'
./test.sh: line 7: `done < f3.txt'
读行时;做
grep“$line”file1.txt
如果[$?-等式1];然后
echo“$line”>>f2.txt
fi
完成
你的代码中有很多错误
#/bin/bash
读行时;做
grep“$line”file1.txt
如果[$?-等式1];然后
echo“$line”>>f2.txt
fi
完成
你的代码中有很多错误
您的脚本可以简化为:
#!/bin/bash
while read line; do
grep "$line" file1.txt
if [ $? -eq 1 ]; then
echo "$line" >> f2.txt
fi
done < f3.txt
#/bin/bash
而read-r行;做
grep-q“$line”file1.txt | | echo“$line”>>f2.txt
完成
此处
echo“$line”>>f2.txt将仅在grep-q
返回非零状态时执行。您的脚本可以简化为:
#!/bin/bash
while read line; do
grep "$line" file1.txt
if [ $? -eq 1 ]; then
echo "$line" >> f2.txt
fi
done < f3.txt
#/bin/bash
而read-r行;做
grep-q“$line”file1.txt | | echo“$line”>>f2.txt
完成
此处echo“$line”>>f2.txt
仅当grep-q
返回非零状态时才会执行。在询问此处之前,请询问语法错误!在询问之前,请先询问语法错误!