【发布时间】:2015-07-14 06:45:06
【问题描述】:
我尝试做脚本:
#!/bin/bash
IP='192.168.1.1'
fping -c1 -t300 $IP 2>/dev/null 1>/dev/null
if [ "$?" = 0 ]
then
echo "Host found"
else
echo "Host not found"
fi
然后我打开它:
pi@raspberrypi ~ $ sh /home/pi/sh/test.sh
/home/pi/sh/test.sh: 9: /home/pi/sh/test.sh: Syntax error: "fi" unexpected (expecting "then")
问题出在哪里?
【问题讨论】:
-
抱歉,我无法用 sh、bash 和 dash 重现这个问题。
-
正如所写的那样,shell 脚本在语法上是有效的。你确定那是你测试的 exact 脚本吗?从这里复制并粘贴到一个新文件中并运行它。有用吗?
-
您的脚本可能有 DOS 行尾。保存你的脚本在
dash中给了我一个类似的语法错误(尽管它是一个意外的文件结尾而不是意外的“fi”)。你可能有混合的行尾;见stackoverflow.com/q/3773649/1126841。
标签: bash command-line scripting sh