Shell脚本 - 多行语句可以从命令行(PuTTy)运行,但不能从脚本文件运行

时间:2014-08-27 13:48:05

标签: linux bash shell multiline

(我提前道歉:我不知道我的问题是关于代码语法还是文件系统,并且 - 在后一种情况下 - 适合Linux论坛)

我试图设置一个小的shell脚本。但是一旦涉及多行语句,我就会遇到一种奇怪的行为。

从教程页面中得到了一个例子:

number=1
if [ $number = "1" ]; then
    echo "Number equals 1"
else
    echo "Number does not equal 1"
fi

如果我通过PuTTy连接到我的虚拟linux机器(openSUSE 13.1)并复制并粘贴代码,那么工作正常。它做到了预期。

但当我创建一个名为shell_test.sh(通过SFTP Net Drive连接)的文件时,其中包含以下内容

#!/bin/bash
number=1
if [ $number = "1" ]; then
    echo "Number equals 1"
else
    echo "Number does not equal 1"
fi

并使用bash shell_test.sh从命令行调用它我收到错误:

  

第7行:意外令牌“fi'

附近的语法错误

for循环也是如此。语法错误接近令牌" do"。

0 个答案:

没有答案