0
我在命令行的腳本安裝期間(-y
不是一個選項)嘗試在[y/N]
提示中回答y
。使用期望來模擬用戶輸入
到目前爲止,我有以下幾點:
#!/bin/bash
expect << EOF
dasht-docsets-install expressjs
expect "[y/N]"
send "y"
EOF
但是,這給出了以下的輸出:
invalid command name "dasht-docsets-install"
while executing
"dasht-docsets-install expressjs"
我不得不多發docsets安裝,只有一個能在同一時間,即我被安裝不能去dasht-docsets-install expressjs vuejs
等...所以理想情況下,我想創建一個bash函數,可以這樣遞docset
像這樣:
doc_install expressjs
這將負責處理輸入。
任何幫助,將不勝感激。
試試這個:'echo y | dasht-docsets-install expressjs' – Cyrus
似乎不起作用。 –
雖然接受的答案適用於您的特定情況,但您的問題是由於您直接在預期內調用了您的功能而導致的。期望將因此將'dasht-docsets-install'解釋爲預期關鍵字(不存在並且引發錯誤)。你應該寫'spawn dasht-docsets-install expressjs'來使它工作。另外,爲了驗證你的發送,你需要寫'send'y \ r「' – Aserre