如何使用参数化参数使用unix查找?

Ork*_*zen 0 unix shell find

echo $EXEC_DATE

20131002
Run Code Online (Sandbox Code Playgroud)

现在,我试图在名称中排除具有此日期的文件.我正在运行这个:

find . -maxdepth 1 -mindepth 1 -type f -not -name '*{$EXEC_DATE}*' -print0
Run Code Online (Sandbox Code Playgroud)

但没有快乐.

我可能会失踪什么?

pts*_*pts 7

要获得EXEC_DATE替换,您必须使用$EXEC_DATE${EXEC_DATE},并且不得使用单引号将其包装,因为单引号内不会发生替换.参见参数扩展http://linux.die.net/man/1/bash以获取更多信息.

示例修复:

find . -maxdepth 1 -mindepth 1 -type f -not -name "*${EXEC_DATE}*" -print0
Run Code Online (Sandbox Code Playgroud)