我打算将变量作为参数传递给我的函数。(此函数的目的是连接到Terdata,从表中获取前10条记录并将其写入文件)。但我的函数不是调用而是调用正在显示主路径中文件的名称。
有没有办法将参数值作为变量传递。
以下是我的剧本:
#!/bin/ksh
set -x
my_first_fn()
{
query="SEL TOP 10 * FROM XYZ.TABLENAME"
${BTEQ} << EOF
.logon ${pSERVER}/${pUSERNAME},${pPWD};
.set width 6000;
.set separator ',';
.set titledashes off;
.EXPORT FILE = '${home}/BTEQ.txt';
${stmt};
.EXPORT RESET
.IF ERRORCODE <> 0
THEN .GOTO EXITERR
.QUIT 0;
.LOGOFF;
.LABEL EXITERR
.QUIT 1;
.LOGOFF;
EOF
}
LOG_FILE=${home}/myscript.log
my_first_fn $query | tee ${LOG_FILE}
提前致谢......: - )
答案 0 :(得分:0)
我没有定义stmt
变量并期望脚本执行。这是导致问题的部分。比这更直接我可以直接调用函数并在函数体中提及SEL TOP 10 * FROM XYZ.TABLENAME
。 - UnixNewbie