如何在shell脚本中使用*而不选择文件夹中的所有文件

如何在shell脚本中使用*而不选择文件夹中的所有文件,shell,unix,sqoop,Shell,Unix,Sqoop,请检查并纠正我。在变量中传递*时,选择文件夹中的所有文件 <<< cat /home/spanda20/p2020/m23/query/p2020_m23_ora_sqoop_unld_query.dat loc_query|”select * from SCPOMGR.LOC where \$CONDITIONS” export SQOOP_QUERY_FILE='/home/spanda20/p2020/m23/query/p2020_m23_ora

请检查并纠正我。在变量中传递*时,选择文件夹中的所有文件

    <<<
    cat /home/spanda20/p2020/m23/query/p2020_m23_ora_sqoop_unld_query.dat
loc_query|”select * from SCPOMGR.LOC where \$CONDITIONS”
    export SQOOP_QUERY_FILE='/home/spanda20/p2020/m23/query/p2020_m23_ora_sqoop_unld_query.dat'
    export TBL_NM='loc'
    TBL_QUERY=`grep ${TBL_NM}_query ${SQOOP_QUERY_FILE} | awk -F "|" '{print $2}'`
    sqoop import --connect xxxx --username yyyy --password zzzzz --query "$TBL_QUERY" >>>
如果您看到,select语句以单引号和双引号开头,也以相同的引号结尾。我只需要一个双引号

ex:
TBL_QUERY : "select * from SCPOMGR.LOC where \$CONDITIONS"

请花几分钟时间修改问题的格式。它非常难读。插入文字代码时,可以将每行缩进四个空格,也可以在数据周围加上反勾(例如:``)1)您使用的是什么shell?我想我们可以假设Bash,但也许不行?2) 您的shell在双引号中清楚地解释。尝试单引号。代码格式工具栏项(
{}
)对此也很有用。双引号用于变量展开<代码>echo“$TBL_QUERY”通常总是引用变量扩展。这一点也很重要。
ex:
TBL_QUERY : "select * from SCPOMGR.LOC where \$CONDITIONS"