Bash 附近的语法错误
很长一段时间以来,我一直在努力处理这个小代码段Bash 附近的语法错误,bash,function,if-statement,token,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
#!/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”中的点,但这似乎没有什么区别。
我已尝试删除每个空白字符和制表符。
我试着注释行并执行脚本,以试图找出问题所在,但没有效果。
我想找出这里出了什么问题,真是束手无策
如果你能帮我。。。非常感谢。您必须在一个块中至少有一个命令;试试。为什么不:
#!/bin/bash
testFunction() {
if ! [ -d "/home/$USER/.skandPATH/" ] ; then
mkdir /home/$USER/.skandPATH/
addedPathDir=1
fi
}
testFunction
@伊格纳西奥·巴斯克斯·艾布拉姆斯成功了。我不知道在一个块中必须至少有一个命令。我非常感激。非常感谢。在将来,您可能会发现找出这种奇怪的bash错误很有帮助。在这种情况下,它会说“不能有空then子句(使用'true'作为no op)。”@thatotherguy感谢您的参考。“看起来真的很有帮助。”另一个人谢谢你。我从来没有想到会有这样一个网站存在。@thattotherguy哇!我从来没有想到这是真的。非常感谢。