查找命令找不到变量

时间:2012-11-26 11:07:26

标签: bash unix

echo $BASE_DIR
PROC_NM="ALLOC$REGION"
echo $PROC_NM
BASE_LOG_DIR=`find $BASE_DIR -filename "*$PROC_NM"`
echo $BASE_LOG_DIR

给我回复:

"./scripts/checkout_dcc.sh" 113L, 2642C written
bash-3.2$  ./scripts/checkout_dcc.sh 
/opt/loghome/dream/rio/drop-copy-converter/
ALLOC_JPN
find: invalid predicate `-filename'

我为此尝试过多个不同的引号,但由于某种原因,find不喜欢我在搜索目录中使用该变量。

1 个答案:

答案 0 :(得分:1)

它说-filename不是有效的谓词。您需要-name中指定的man find

$ man find | grep -ce '-filename'
0
$ man find | grep -ce '-name'
15

使用变量可以按预期工作:

find $BASE_DIR -name "*$PROC_NM"