我在剧本中写了两个函数
for TYPE in $LIST_TYPE
do
egrep -v 'dc02|vh|dc03kh00|r0' $REPORT_37 | grep CP_ASK | grep $DC |awk -F, -v type=$TYPE '$NF == type { print $1 }' > ./$DC_'type_'$TYPE
EMPTY_TYPE_$TYPE=$(cat $DC'_type_'$TYPE | wc -l)
done
第二个将在另一个用于EMPTY_TYPE_ $ TYPE 所以我做了
for TYPE in $LIST_TYPE
do
eval echo \$EMPTY_TYPE_$TYPE
egrep -v 'dc02|vh|dc03kh00|r[0-2]' $REPORT_33 | grep NOT | grep $DC |awk -F, -v days=$DAYS -v version=$VERSION -v type=$TYPE '{if (($(NF-15) > days || $(NF-02)!= version) && ($(NF-20) == type)) print $1}' | eval tail -n \ EMPTY_TYPE_$TYPE > ./$DC'_TO_WORK'
done
问题是我收到错误
awk -F, -v days=180 -v version=6.7 -v type=E '{if (($(NF-15) > days || $(NF-02)!= version) && ($(NF-20) == type)) print $1}' + eval tail -n '$EMPTY_TYPE_E'
当我只运行命令时(不是在bash脚本中)
egrep -v 'dc02|vh|dc03kh00|r[0-2]' report_33.20170720.075339 | grep NOT | grep $DC |awk -F, -v days=$DAYS -v version=$VERSION '{if (($(NF-15) > days || $(NF-02)!= version) && ($(NF-20) == "A")) print $1}' | eval tail -n \$EMPTY_TYPE_$TYPE
它有效。
答案 0 :(得分:0)
在第一个函数中 EMPTY_TYPE_ $ TYPE = $(cat $ DC' 类型' $ TYPE | wc -l)应该是 eval EMPTY_TYPE_ $ TYPE = $(cat $ DC' type ' $ TYPE | wc -l)
这就是问题