Bash 查找命令can';找不到变量

Bash 查找命令can';找不到变量,bash,unix,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 我为此尝试了多个不同的引号,但出于某种原因,find不喜欢我使用变量作为搜索目录。它说-filename不是有效的谓词。您需要-name,如人工查找中所述: "./scripts/checkout_dcc.sh" 113L, 2642C w

返回给我:

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

我为此尝试了多个不同的引号,但出于某种原因,find不喜欢我使用变量作为搜索目录。

它说
-filename
不是有效的谓词。您需要
-name
,如
人工查找
中所述:

"./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'
在那里使用变量将按照您的预期工作:

$ man find | grep -ce '-filename'
0
$ man find | grep -ce '-name'
15
find $BASE_DIR -name "*$PROC_NM"