gpt4 book ai didi

linux - 在 bash/sqlplus 中一个接一个地调用两个函数失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:52 24 4
gpt4 key购买 nike

我有两个函数——ABC、XYZ。 ABC 删除 table1 中的一些行作为 user1,XYZ 删除一些用户作为 DB User。首先,我调用 ABC,然后调用 XYZ。 ABC 函数正在执行,但在 XYZ 处失败-“XYZ:找不到命令”

function ABC
{
sqlplus -s $ur1/$pwd@$SID << EOF

delete from table1 where row_name = 'A1';
delete from table2 where row_name = 'A2';
exit

EOF
}

function XYZ
{
sqlplus eip_dba/eip_dba$result@${input} << eof
set timing off
set serveroutput on size 10000
set feedback off
spool xyz_$input.out

drop user usr1 cascade;
drop user usr2 cascade;
drop user usr3 cascade;
commit;
exit
eof
}

ABC
XYZ

bash-3.2$ ./db_test.sh

2 rows deleted.


2 rows deleted.

./db_test.sh: line 100: XYZ: command not found

请让我知道哪里出了问题。

提前致谢。

最佳答案

尝试删除 EOF 之前的空格

function ABC
{
sqlplus -s $ur1/$pwd@$SID << EOF

delete from table1 where row_name = 'A1';
delete from table2 where row_name = 'A2';
exit

EOF
}

我在一个示例程序中试过了,它解决了这个问题。

关于linux - 在 bash/sqlplus 中一个接一个地调用两个函数失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15036930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com