我做一些腳本:Git裏,克隆與特定的私鑰,sh.exe找不到文件
#!/bin/bash
#####
dest_branch="4.0.8_copy"
source="sprint24_copy"
#####
dest=$dest_branch
source=$source_branch
startDir=`pwd`
sshFile=$startDir"/git_ssh.ssh"
gitrepo="<some valid repo adress>"
git_key=$startDir"/key.ssh"
sshKey="-----BEGIN RSA PRIVATE KEY-----
MIIJJwIBAAKCAgEAs7Rfpca8s4.... and rest of key"
echo $sshKey > $git_key
echo "ssh -i "$git_key" \[email protected] "> $sshFile
export GIT_SSH=$sshFile
export GIT_TRACE=1
git clone [email protected]$gitrepo -b $dest
我運行混帳擊(C這個腳本:\ Program Files文件\的Git \ BIN \ sh.exe ),並且該腳本失敗,這一點錯誤:
Cloning into 'neos'...
10:44:26.575804 run-command.c:343 trace: run_command: 'C:/Users/<some user>/Desktop/<some dir>/git_ssh.ssh' '[email protected]<some valid adress>' 'git-upload-pack '\''<some project>'\'''
error: cannot spawn C:/Users/<some user>/Desktop/<some dir>/git_ssh.ssh: No such file or directory
fatal: unable to fork
我試圖改變命令pwd
靜態路徑,如C:/ ... C:/ .../C/... \ C。 C:... C:...但仍然表現不佳。可以anybady幫我具體的另一個私人密鑰克隆git回購?爲什麼這個sh.exe看不到我的文件?我確定該文件存在。我使用git版本2.6.4.windows.1。感謝您的幫助,並對我的英語感到抱歉。
從未在Windows上嘗試過Git。對於bash的正常調試是將shebang更改爲'#!/ bin/bash -x'並查看輸出以驗證所有內容都按預期進行了擴展。對於sshKey-assignment,可以查看heredocs來存儲多行字符串,例如http://stackoverflow.com/questions/23929235/bash-multi-line-string-with-extra-space –
使用'ssh_config' – Jakuje