【发布时间】:2020-08-25 08:03:39
【问题描述】:
我正在尝试做一个非常简单的任务,即克隆一个 git repo 并 cd 到其中。
我有这个 shell 脚本:
#!/bin/bash
# Clone a git repository, and go into it
git clone git@someNumbers:myGitRepo.git
cd myGitRepo
当我运行它时,shell 认为 git repo 是“clone git@someNumbers:myGitRepo.git”(有空格,我确定我的代码中没有空格)!
和输出:
Cloning into 'myGitRepo.git '...
什么时候应该说:
Cloning into 'myGitRepo'...
我还尝试将两个命令(一次)复制粘贴到命令提示符下,但同样会失败。只有单独运行它,或者在最后不使用 linebrake 的情况下复制粘贴它,才能成功克隆 git repo。
这里发生了什么?如何编写一个可以克隆 git 存储库的简单 shell 脚本?
【问题讨论】:
-
这是您脚本的实际复制/粘贴吗?我怀疑最后有一些类似 Unicode 空格的字符没有出现在这里。检查
od -tx1c myscript.sh的输出以确保。 -
您可能想阅读以下内容:unix.stackexchange.com/questions/102008/…
-
这会在 Windows 上发生吗?检查您用于编辑脚本的编辑器是否使用 Uniw 行尾 (
LF) 而不是 Windows 行尾 (CR LF) 保存文件 -
@Thomas 我照你说的做了,那里确实有一些字符,输出如下:
. g i t 342 200 213 \n c d -
那么@Thomas 是好是坏?