shellcript中的行之间的空格被视为命令

时间:2017-01-23 10:10:48

标签: linux bash sh

我正在写一个bash script,这是一个

#!/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 

但它看起来有点混乱

还有其他方法可以实现这一目标。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

当您使用\r\n转储行时,您的注释会添加行使用DOS行(od -xc file)的精度。为避免这种情况,您应确保编辑器使用Unix行尾(\n)。

要将其修复到现有文本文件,您可以使用tr

tr -d '\r' < dos_file > unix_file