Why doesn't my commands work in shell scripts but in bash?
本问题已经有最佳答案,请猛点这里访问。
我面临两个问题,其原因可能是相同的,这就是我在一个问题中发布它们的原因。
这是我的小shell脚本:
1 2 | #!/bin/bash wget"https://phantomjs.googlecode.com/files/phantomjs-1.9.2-linux-i686.tar.bz2" |
然后我说
我得到
然后我对自己说,好吧,尝试
它似乎工作,但URL是:
1 2 3 4 5 6 | --2013-12-31 12:24:55-- https://phantomjs.googlecode.com/files/phantomjs-1.9.2- linux-i686.tar.bz2%0D Resolving phantomjs.googlecode.com... 173.194.69.82, 2a00:1450:4008:c01::52 Connecting to phantomjs.googlecode.com|173.194.69.82|:443... connected. HTTP request sent, awaiting response... 404 Not Found 2013-12-31 12:25:01 ERROR 404: Not Found. |
您是否认识到我的URL在文件名后面的第2行附加了
当我在shell本身运行命令时,而不是脚本,它完全正常。
这两个问题是否具有相同的根? 为什么附加
您可能使用编辑器创建DOS行结尾( r n)来编辑脚本。 使用其他编辑器或使用
您应该将您的EOL转换更改为Unix。
如果您使用的是Windows,则可以使用Notepad ++