我正在尝试让shell脚本在脚本提示时自动接受Y值,但是总会以某种方式显示“应用户要求取消了操作”。 nid
命令是用于更改数据库名称的Oracle实用程序DBNEWID。
关于如何在以下函数中接受Y的任何想法?函数登录数据库并更改名称。
function rename_db {
nid target=SYS/"as sysdba" DBNAME=newdb << EOD
Y
EOD
}
运行时输出:
将数据库ID和名称更改为newdb? (Y / [N])=>
用户取消了操作请求
在下面使用,如果我们使用日志文件,则它将接受Y作为默认值,并且从不提示。
e.g。 nid target=sys/"as sysdba" dbname=old_db logfile=rename.log
您是否安装了expect
(https://en.wikipedia.org/wiki/Expect)?您可能想要使用专为这种事情设计的工具。