2015-09-11 22 views
-1

我試圖在腳本提示時自動接受值爲Y的shell腳本,但總是說「操作在用戶請求時被取消」。在shell中自動執行交互輸入

任何想法如何接受Y在下面的功能? 功能登錄到數據庫並更改名稱。

function rename_db { 
nid target=SYS/"as sysdba" DBNAME=newdb << EOD 
Y 
EOD 
} 

運行時輸出:

更改數據庫ID和名稱NEWDB? (Y/[N])=>

操作被取消在用戶 請求

+0

你可以試試以下內容:'echo'Y'| nid target = SYS /「as sysdba」DBNAME = newdb' – devang

+0

@gotuskar仍然收到相同的「在用戶請求取消操作」 – homer

+0

'printf「Y \ r \ n」| Nid ...'?祝你好運。 – shellter

回答

1

以下使用,如果我們使用日誌文件,那麼它將接受Y作爲默認值,並且從不提示。

例如nid target=sys/"as sysdba" dbname=old_db logfile=rename.log