导出的函数不会扩展awk变量

时间:2019-09-09 19:07:53

标签: bash awk

我有一个bash函数,该函数带有两个参数并调用awk命令。

在主脚本中的另一个awk命令中调用该函数。

问题是该函数内部awk中的“ if”条件不起作用。

$ 2 == obj在下面的代码中不起作用。如果给出“文字”值,则可以正常工作。

function func1() {
APPNAME=$1
OBJ_TYPE=$2
    while read -r next_obj
    do
        <Command> ${APPNAME} | grep "$OBJ_TYPE" | awk -v APPNAME="$APPNAME" -v obj="${next_obj}" '$2==obj {print APPNAME}'
    done < <input File>

}
export -f func1

<Command> | grep -iv ok | awk -v OBJ_TYPE="$OBJ_TYPE" '{ if ($2 == "started") { system("func1 " $1" "OBJ_TYPE) } }'

0 个答案:

没有答案