语法错误附近

时间:2013-06-26 00:44:37

标签: bash function if-statement token

很长一段时间以来,我一直在努力解决这个小代码问题。

#!/bin/bash

testFunction() { 

        if [ -d "/home/$USER/.skandPATH/" ] ; then 
                #Exists. Do nothing. 
        else 
                mkdir /home/$USER/.skandPATH/   #Does not exist. Creates directory 
                addedPathDir=1 
        fi
} 

testFunction 

每次运行时都会收到以下消息:

./functionInScript.sh: line 7: syntax error near unexpected token `else'
./functionInScript.sh: line 7: `else '

我搜索了几十个“意外令牌bash附近的语法错误”并尝试了几十条建议。

我在文件上运行了dos2unix(即使我正在使用Mint)。 我已经逃脱了“.skandPATH”中的点,但这似乎没有什么区别。 我试过删除每个空白字符和制表符。 我已经尝试评论行并执行脚本以试图找出问题,但无济于事。 我最终试图在这里找到错误!

如果你能帮助我......我将非常感激。

2 个答案:

答案 0 :(得分:4)

必须在一个区块中至少有一个命令;试试:

答案 1 :(得分:1)

为什么不:

#!/bin/bash

testFunction() { 
    if ! [ -d "/home/$USER/.skandPATH/" ] ; then 
            mkdir /home/$USER/.skandPATH/
            addedPathDir=1
    fi
} 

testFunction