Linux shellscript中作为命令的行间距

Linux shellscript中作为命令的行间距,linux,bash,sh,Linux,Bash,Sh,我正在写一个bash脚本,下面是一个 #!/bin/bash #getting the environment variable from commandline environment=$1 echo $environment 现在,当我使用bash./bashScript.sh Hello运行脚本时,我在第行看到以下错误 :未找到命令行2 :未找到命令行5 我看到这两行都是空格,因此bash脚本给了我一个错误 为了解决这个问题,我把我的脚本写成 #!/bin/bash # #getti

我正在写一个bash脚本,下面是一个

#!/bin/bash

#getting the environment variable from commandline
environment=$1

echo $environment
现在,当我使用bash./bashScript.sh Hello运行脚本时,我在第行看到以下错误

:未找到命令行2

:未找到命令行5

我看到这两行都是空格,因此bash脚本给了我一个错误

为了解决这个问题,我把我的脚本写成

#!/bin/bash
#
#getting the environment variable from commandline
environment=$1
#
echo $environment 
但是看起来有点乱


有没有其他方法可以做到这一点。提前感谢您的帮助。

您的评论添加了在使用od-xc文件转储行时,行使用DOS行结束\r\n的精度。要避免这种情况,您应该确保编辑器使用Unix行结束\n

要在现有文本文件上修复它,可以使用tr:


你是从什么地方抄的吗?听起来你可能有一些离奇的线尾或者沿着这些线的东西lines@arco444不,我自己写的。行与行之间的空格是由于键盘上按enter键造成的。我同意@arco444,我尝试了你的第一个代码片段,它对我来说很好。当你怀疑文件中有不可打印的字符时,hexdump或od允许确保文件内容在字节级别:od-xc file给出文件的十六进制转储,它的输出应该会使问题变得明显。@SergeBallesta我可以在bash之后看到\r\n\r\n当我尝试上述命令时感谢您的帮助:非常感谢
tr -d '\r' < dos_file > unix_file