我有gt for windows 2.5.2(64位版本),从https://git-scm.com/download/win下载
我想要的只是创建一个.sh,它会为我提交/推动我的工作。我编写了脚本,当我尝试运行它时,我得到一个错误:
“#!/ bin / sh:没有这样的文件或目录”
正如你所看到的,我为我的git-bash和我的git-sh设置了PATH(也是为了我的sh.exe和我的bash.exe)
路径 - > “C:\ Program Files \ Git \ bin \; C:\ Program Files \ Git \ mingw64 \;”
我也有〜/ .bash_profile:
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
我的〜/ .profile:
#!/bin/sh.exe
#
# Get the aliases and functions
#
if [ -f ${HOME}/.bashrc ]
then
. ${HOME}/.bashrc
fi
export CVS_RSH="ssh"
export EDITOR="/usr/bin/vim"
export HISTSIZE="500"
export PATH="${HOME}/bin:${PATH}"
我的简单script.sh:
#!/bin/sh.exe
P_J="Le/Prjt/swks/games"
GITLAB_USER='myuser'
GITLAB_PASSWORD='mypass'
P_JG='G Select'
NAME_OF_REP='g-select'
cd $P_J || EXIT
cd "$P_JG" || EXIT
#git add -A
#git commit -m "$(date)"
#git push https://$GITLAB_USER:$GITLAB_PASSWORD@gitlab.com/$GITLAB_USER/$NAME_OF_REP.git
从我的Git-Bash,这里是一个“echo $ PATH”:
$ echo $PATH /c/Users/UserP/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/ProgramData/Oracle/Java/javapath:/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Program Files/Java/jre1.8.0_51/bin:/c/Program Files (x86)/Android/android-sdk/platform-tools:/bin:/mingw64:/usr/bin/vendor_perl:/usr/bin/core_perl
正如我所说,当打开git-bash并运行我的简单.sh时,我收到此错误:
./ script.sh:line 1:#!/ bin / sh.exe:没有这样的文件或目录
问题似乎是在我的shellcript上创建变量时。有没有人知道可能导致这个问题的原因?
提前致谢!
答案 0 :(得分:2)
./ script.sh:第1行:#!/ bin / sh.exe:没有这样的文件或目录
FWIW该错误通常是由称为UTF8-BOM的可憎性引起的。
字符“零宽度不间断空格”在UTF16中用作“字节顺序标记”。几个Windows编辑器(记事本IIRC)也将此不可见(且无用)的字符放在了以UTF8编码的文件的开头。
如果具有“ Notepad ++”,则可以使用编码菜单项在UTF8和UTF8-BOM之间进行选择,然后将文件切换为前者。
答案 1 :(得分:0)
你打算怎么跑?我需要在命令提示符下执行的操作是将文件拖到MINGW64窗口中,以便显示文件路径和名称,按回车键,然后运行。
但是,如果我在命令行中使用sh在文件名之前,我得到了#34;#!/ bin / sh.exe:没有这样的文件或目录"或者你提到的类似。
那是:
$ [文件路径]
作品。
$ sh [文件路径]
没有按'吨