执行SHELL脚本,传入参数,参数应该被里边的sql所用,请问怎么写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了执行SHELL脚本,传入参数,参数应该被里边的sql所用,请问怎么写相关的知识,希望对你有一定的参考价值。
比如 执行 upload.sh XXXXXX XXXXX是传入参数
怎么在下列脚本中传入参数 被*******(一条SQL语句)所用
脚本
sqlplus -s ac/ca@ca<<EOF
set head off;
set feedback off;
set linesize 5000;
set newpage none;
set trims on;
set term off;
set array 5000;
spool etl_inc_de_007009.txt;
****************
spool off;
EOF
这个问题还得补充下,传入-1 生成一个SQL文件 SQL内容
select dept_id,dept_name from department
解析以上文件 根据dept_id,dept_name 做条件和查询列,和另个一个表income,和一起
生成一个明晰的SQL ,执行这个SQL文件,进行导出
sql写法:
select dept_id,dept_name from department
where dept_id=$1 参考技术B echo "please input var_name:"
while read var_name 参考技术C 上边的脚本是在shell中,还是单独一个SQL文件啊追问
都行,我就是想做一个SHELL脚本,输入-1 查询一个表比如A,生成一行一行的数据形成的文件,(2)然后解析这个文件,她的数据用做条件和别的SQL生成一个新的SQL文件,然后用这个SQL
进行数据导出
在shell中的话,举个例子吧
if [ “$1” = "-1" ]; then
SQL="select * from t_a where c_a='test';"
fi
。。。
spool etl_inc_de_007009.txt;
$SQL
spool off;
。。。
这样就可以了。以上是在KSHELL下执行的code
不知道是不是你要的情况
shell脚本之判断文本类型2 (参数传入脚本)
#!/bin/bash
if [ "$#" -lt 1 ]; then #判断脚本参数个数,当参数个数小于1时,给出脚本执行方式
echo "Usage:./judge_file_arg.sh ARG1 [ARG2...]"
exit 2 #定义错误退出码
fi
if [ ! -e "$1" ]; then #判断给出的文件是否存在,不存在推出脚本
echo "no such file"
exit 3
fi
if [ -f "$1" ]; then #判断文件是否为普通文本
echo "This is normal file"
elif [ -d "$1" ]; then #判断是否为目录
echo "This is directory"
else
echo "This is other type file"
fi
以上是关于执行SHELL脚本,传入参数,参数应该被里边的sql所用,请问怎么写的主要内容,如果未能解决你的问题,请参考以下文章