unix意外令牌'完成'附近的语法错误

时间:2013-04-15 07:53:52

标签: shell unix while-loop

此脚本

#!/bin/sh
once=true

while $once do
stop & PID=$!
sleep 10M

if [$!=0]; then
start
break
else
kill $PID
fi

done

给出

./restart.sh: line 18: syntax error near unexpected token `done'
./restart.sh: line 18: `done'

我不明白,它之前在另一个unix系统上运行过。我错过了什么吗?

修改

stopstart是分别只运行stop.shstart.sh的函数。

1 个答案:

答案 0 :(得分:4)

您似乎在第4行缺少分号。将其修改为

while ${once}; do

应该修复它。