我試圖在腳本提示時自動接受值爲Y的shell腳本,但總是說「操作在用戶請求時被取消」。在shell中自動執行交互輸入
任何想法如何接受Y在下面的功能? 功能登錄到數據庫並更改名稱。
function rename_db {
nid target=SYS/"as sysdba" DBNAME=newdb << EOD
Y
EOD
}
運行時輸出:
更改數據庫ID和名稱NEWDB? (Y/[N])=>
操作被取消在用戶 請求
我試圖在腳本提示時自動接受值爲Y的shell腳本,但總是說「操作在用戶請求時被取消」。在shell中自動執行交互輸入
任何想法如何接受Y在下面的功能? 功能登錄到數據庫並更改名稱。
function rename_db {
nid target=SYS/"as sysdba" DBNAME=newdb << EOD
Y
EOD
}
運行時輸出:
更改數據庫ID和名稱NEWDB? (Y/[N])=>
操作被取消在用戶 請求
以下使用,如果我們使用日誌文件,那麼它將接受Y作爲默認值,並且從不提示。
例如nid target=sys/"as sysdba" dbname=old_db logfile=rename.log
已安裝不要expect
(https://en.wikipedia.org/wiki/Expect)?你會想要使用這種設計的東西。
你可以試試以下內容:'echo'Y'| nid target = SYS /「as sysdba」DBNAME = newdb' – devang
@gotuskar仍然收到相同的「在用戶請求取消操作」 – homer
'printf「Y \ r \ n」| Nid ...'?祝你好運。 – shellter