0

我有剧本

#!/bin/bash
set i=0;
while read line
do
  echo "$line";
  $i < cat "my.log" | grep -w "$line" | wc -l;
  echo "$i";
  if [ "$i" == 0 ]; then
  cat $line << "notfound.txt"
  fi
  i=0;
done < "test.txt"

这是给出错误

./test.sh: line 13: warning: here-document at line 10 delimited by end-of-file (wanted `notfound.txt')
./test.sh: line 14: syntax error: unexpected end of file

我的目标是测试变量 i 的值。如果它是 0,那么我想将存储在变量 $line 中的值重定向到文件“notfound.txt”

4

1 回答 1

2

代替

cat $line << "notfound.txt"

说:

echo $line > "notfound.txt"

您没有cat变量,而是echo那些变量。 command > file命令的输出重定向到文件,覆盖它。如果要附加文件,请>>改用。

您可以在此处了解有关重定向的更多信息。

于 2013-08-19T11:08:14.987 回答