在shell脚本中查找给出一个未知的谓词`-v'错误

时间:2015-06-25 15:36:52

标签: bash

在shell脚本中查找给出一个未知的谓词`-v'错误

输出:

/bin/find /home/dev/public_html/ | grep -v "^secure" | grep -v "^folder1/folder2"
/bin/find: unknown predicate `-v'

代码:

FINDP="  | grep -v \"^secure\" | grep -v \"^folder1/folder2\""
echo "/bin/find /home/dev/public_html/$FINDP";
`/bin/find /home/dev/public_html/$FINDP`

任何想法如何解决这个问题? (我们的想法是稍后将反引号的结果存储在变量中。)

1 个答案:

答案 0 :(得分:2)

您无法在字符串中存储复杂命令。它不起作用。这是Bash FAQ 050

特别是在您的情况下,shell不会将|视为shell管道,而是将其视为常规字符,因此find会将-v参数视为grep并且抱怨。