[英]Cloning a repository with a bash script on macOS
我編寫了一個 bash 腳本,該腳本循環遍歷包含 SSH URL 的 JSON 數組並將存儲庫克隆到臨時文件夾。
這是 bash 腳本的樣子:
eval "$(ssh-agent -s)"
ssh-add /Users/schotsl/.ssh/id_ed25519
jq -c '.[]' ./../repos.json | while read i; do
git clone $i
done
但是當我運行 bash 腳本時,這是生成的 output:
Cloning into 'krijn-text-4.git"'...
"git@codebasehq.com: Permission denied (publickey).
fatal: Could not read from remote repository.
編輯:
我之前應該澄清這一點,以確保我們正確的密鑰我重新生成了我的密鑰。 現在,當我在沒有將密鑰添加到 SSH 代理的情況下運行克隆命令時,我得到了與預期相同的錯誤。 使用此命令添加密鑰后:
ssh-add /Users/schotsl/.ssh/id_ed25519
我可以很好地下載 repo,但不知何故腳本不能?
您的jq
過濾器正在輸出 JSON 字符串,例如
"git@codebasehq.com:/path/to/krijn-text-4.git"
當您需要適合ssh
使用的原始字符串時; 請注意,主機是"git@codebasehq.com
,而不是git@codebasehq.com
。
對原始 output 使用-r
選項。
jq -cr '.[]' ./../repos.json | while IFS= read -r i; do
git clone "$i"
done
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.