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

时间:2013-10-02 13:50:09

标签: shell unix find

echo $EXEC_DATE

20131002

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

find . -maxdepth 1 -mindepth 1 -type f -not -name '*{$EXEC_DATE}*' -print0

但没有快乐。

我可能会遗失什么?

1 个答案:

答案 0 :(得分: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