0

我已经给出了命令,它将在 insatlled 的一个 rpm 包中找到一个名为 /etc/limits 的特定文件,但是当在我的系统上运行时出现错误而不是预期的结果。下面是命令

find . -name '*.rpm' | while read A; do $RPM -qpl $A | grep etc/limits; \
if [ $? -eq 0 ]; then echo $A; fi; done
/etc/limits

当我运行此命令时出现以下错误

bash: syntax error near unexpected token `/etc/limits'

谁能告诉我这里出了什么问题?

4

1 回答 1

1

很明显,您的while循环从中获取输入,find因此您不需要在脚本中使用/etc/limitsafter 。done说:

find . -name '*.rpm' | while read A; do
  $RPM -qpl $A | grep /etc/limits;
  if [ $? -eq 0 ]; then echo $A; fi;
done

应该管用。如果你想让while循环从文件中读取,你会说:

while read A; do ... done < /path/to/input/file
于 2013-08-16T07:03:02.897 回答