首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表输入步骤不替换变量。

表输入步骤不替换变量。
EN

Stack Overflow用户
提问于 2015-12-17 22:40:15
回答 1查看 1.1K关注 0票数 0

我正在五旬节的输入步骤中运行以下代码:

代码语言:javascript
复制
SELECT * FROM ${TABELA} WHERE TS_SAMPLETM BETWEEN TO_DATE('${HOJE}', 'DD/MM/YYYY') AND TO_DATE('${SEMANAPASSADA}','DD/MM/YYYY')

但是,当我通过这个shell脚本运行作业时:

代码语言:javascript
复制
#!/bin/sh
cd /home/rafael/data-integration/
export HOJE=$(date +"%d/%m/%Y")
export SEMANAPASSADA=$(date -d "7 days ago" +"%d/%m/%Y")
export tabela=tabela1

sh kitchen.sh -file=/home/rafael/data-integration/Job_Oracle_MySql.kjb -param:TABELA=$TABELA -param:HOJE=$HOJE -param:SEMANAPASSADA=$SEMANAPASSADA

表输入步骤不替换变量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-18 12:34:18

您的问题是shell脚本中的错误,而不是五旬节或表输入步骤中的错误。如果您试图在最后一行的echo前面插入sh,您可以看到正在运行的命令:

代码语言:javascript
复制
echo sh kitchen.sh -file=/home/rafael/data-integration/Job_Oracle_MySql.kjb -param:TABELA=$TABELA -param:HOJE=$HOJE -param:SEMANAPASSADA=$SEMANAPASSADA

对我来说,这一产出:

sh kitchen.sh kitchen.sh -param:TABELA= -param:HOJE=18/12/2015 -param:SEMANAPASSADA=

shellscript脚本中的问题是

  1. 区分大小写。将$TABELA替换为$tablea
  2. 对我来说,调用日期的方式是错误的,但这取决于您的操作系统,您还没有提供。我需要写export SEMANAPASSADA=$(date -v -7d +"%d/%m/%Y")

在这些更改之后,当我运行脚本时,它会输出:

sh kitchen.sh kitchen.sh -param:TABELA=tabela1 -param:HOJE=18/12/2015 -param:SEMANAPASSADA=11/12/2015

这可能更接近你想要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34345641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档