0
我想使用腳本從git下載源代碼。如何在命令導致提示時自動輸入字符串?
以下git
命令的結果提示:
git clone ssh://url.com/repo.git git_test3
Cloning into 'git_test3'...
The authenticity of host 'url.com (1.1.1.1)' can't be established.
ECDSA key fingerprint is .
Are you sure you want to continue connecting (yes/no)?
我制定了以下腳本,以便通過腳本輸入「yes」自動:
#!/bin/sh
git_clone() {
git clone ssh://url.com/repo.git test <<EOF > /dev/null
yes
EOF
}
git_clone
,但它不工作。該腳本始終導致提示(yes/no)
。
我錯過了什麼?
你可以用'expect'腳本來做你想做的事情。請參閱http://expect.sourceforge.net/ – Wolf
嘗試** yes **命令,它可能工作。試試這個,是的,是的git clone ssh://url.com/repo.git test',請參閱http://stackoverflow.com/questions/8416887/is-the-program-yes-used-for-anything-significant – ishaan
@ishaan這只是另一個向'git'的標準輸入提供重複文本的方式,這是OP已經在做的事情。問題在於它不是'git'請求響應,它是'ssh','ssh'不是從標準輸入讀取,而是直接從終端讀取。 – chepner