问题描述
- 大家好,我运行了shell脚本
my_repo_list.sh
- 其中仅包含git clone命令列表:
git clone https://repo@bitbucket.org/handle/group.git repoName1
git clone https://repo@bitbucket.org/handle/group.git repoName2
git clone https://repo@bitbucket.org/handle/group.git repoName3
git clone https://repo@bitbucket.org/handle/group.git repoName4
- 而不仅仅是回购名称:
repoName1
repoName2
repoName3
repoName4
- 目录中存储库的名称”格式为:
'repoName1'$'\ r'
'repoName2'$'\ r'
'repoName3'$'\ r'
'repoName4'$'\ r'
很抱歉格式化有关此问题的任何线索。
解决方法
诊断:您的my_repo_list.sh
脚本具有CR-LF行尾,而不是Linux shell需要的仅LF行尾。
每个git clone
命令如下:
git clone https://repo@bitbucket.org/handle/group.git repoName1<CR>
代替:
git clone https://repo@bitbucket.org/handle/group.git repoName1
其中<CR>
表示文字控制M或$'\r'
字符。因此,每个新目录名称都以文字控件M结尾。不管显示为何,这些名称都会巧妙地以外壳(可能是bash)可能正确解释的形式显示。
修复:重命名每个目录以消除回车符:
for i in repoName1 repoName2 repoName3 repoName4; do
mv ${i}$'\r' ${i}
done
下次,请注意脚本中的行尾。