Git 为什么我会得到这样的回答没有这样的文件或目录;当尝试执行bash脚本时?

Git 为什么我会得到这样的回答没有这样的文件或目录;当尝试执行bash脚本时?,git,bash,shell,Git,Bash,Shell,我正在尝试执行一个bash脚本(gitftp),但似乎无法执行。情况就是这样: [trusktr@rocketship ~]$ ~/scripts/git-ftp : No such file or directory 该文件具有755权限 以下是脚本的内容: 为什么我会犯这个错误?我能做些什么来解决这个问题?是否有#(hash bang)行,路径名是否解析 如果脚本正在运行,则可能是脚本中的某些内容。将此命令添加到脚本顶部,在任何其他命令之前(当然,如果有,则在hash bang之后): 如

我正在尝试执行一个bash脚本(gitftp),但似乎无法执行。情况就是这样:

[trusktr@rocketship ~]$ ~/scripts/git-ftp
: No such file or directory
该文件具有755权限

以下是脚本的内容:

为什么我会犯这个错误?我能做些什么来解决这个问题?

是否有
#(hash bang)行,路径名是否解析

如果脚本正在运行,则可能是脚本中的某些内容。将此命令添加到脚本顶部,在任何其他命令之前(当然,如果有,则在hash bang之后):


如果脚本具有windows行结束符而不是unix行结束符,我会看到此错误。尝试在脚本上运行
dos2unix
,看看是否出现相同的错误。

是的,如果查看脚本,它的顶部有“#!/usr/bin/env bash”。我尝试添加
set-x
,但没有出现任何新情况。尝试
bash-x~/scripts/git-ftp
,看看这是否显示了什么。FWIW脚本对我来说运行良好打印使用信息感谢您尝试帮助我。事实证明@joesdiner是完全正确的:我需要将所有的行尾转换成unix风格。哇,很有趣。就是这样。您的意思是冒号的错误::没有这样的文件或目录。有道理;一个空命令。它实际上不是空的,但是字符串
“\r”
前导回车符在打印时消失,因为在Unix终端上,它只是将光标移动到第0列。@Kaz:比这更复杂。脚本中的shebang行是
#/usr/bin/env bash\r
,因此env打印错误“env:bash\r:没有这样的文件或目录”。回车使第二部分(“没有这样的文件或目录”)覆盖第一部分,因此您看不到第一部分。(注:很好,joesdiner。)
ls~/scripts/git ftp
有效吗?如果你像我一样,在阅读了这个问题的答案后,你可能想看看。
set -x   # enable trace mode