簡體   English   中英

在 macOS 上使用 bash 腳本克隆存儲庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM