我正在尝试编写一个 Bash shell 脚本,但它不起作用。以下是脚本的内容:
#!/bin/bash
pwd
我期望它打印出当前目录。但实际上,它打印的是:
: not found: build.sh: #!/bin/bash
: not found: build.sh:
: not found: build.sh: pwd
为什么会这样?我找不到其他人遇到此问题的文章。
我在脚本上执行了 chmod 777,并像这样运行它:
sh build.sh
答案1
该文件可能有 DOS/Windows 样式的行尾。
看 ”Shell 脚本对编码和行尾敏感吗?“在 stackoverflow 上。
顺便说一句,您几乎永远不应该使用 chmod 777(您真的希望所有用户都能编辑脚本吗?),并且使用 ./build.sh 运行脚本,而不是明确使用 sh。
— Gordon Davisson 1 月 22 日 17:45