[英]Syntax error: end of file unexpected (expecting “then”)
我正在为Minecraft服务器插件更新程序制作此代码我是一个新的shell脚本编写器所以我不知道很多...
当我运行此代码时,我收到一个错误:
#!/bin/sh
export PATH=$PATH:.
#Options
PLUGINDOWNLOADLINK=http://api.bukget.org/3/plugins/bukkit/$PLUGINNAME/latest/download
# Plugin folder
if [ -f $PWD\plugins ]; then
PLUG=$PWD\plugins
else
PLUG=$PWD\plug-ins
fi
cd $PLUG
if [ ! -f .\update ]; then
mkdir update
echo Making Directory "update"..
fi
# Plugins Found
for i in $( ls );
do
PLUGINNAME=$i
done
cd .\update
wget $PLUGINDOWNLOADLINK
# No Plugins Found
if [ ! -f $PLUG ]; then
echo
echo
echo No plugin found.
echo
echo
echo
echo Plugins can be downloaded here:
echo http://dev.bukkit.org/bukkit-plugins
fi
# stop
sleep 3s
exit
我收到此错误:
Syntax error: end of file unexpected (expecting "then")
所以我把“then”放在它想要我的地方并再次运行它:
它现在给了我这个错误:
Syntax error: end of file unexpected
我是在Windows 7 notepad ++上写的
我怎样才能解决这个问题?
then^M
,末尾有回车符。 如果您没有dos2unix,请尝试运行此命令: sed -i 's/\\r$//' filename
我遇到了同样的问题。 问题是文件的格式是“dos”,但在linux shell中需要“unix”,所以我安装了“dos2unix”
$ sudo apt-get install dos2unix
或者如果您使用emacs,您可以这样做:
C-x RET f unix
祝好运 :)
这是因为文件格式化。 我遇到了同样的问题。 只需使用gedit创建另一个带有(.sh)扩展名的文件。 然后将代码粘贴到新文档中。 希望这能解决问题。
gedit file-name.sh
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.