[问题] 语法错误 near unexpected token `done'

楼主: dotb (dotb)   2022-08-16 20:37:16
大家好 想请问一下我这个简单的脚本问题出在哪边
#!/bin/bash
X=0
Y=0
echo "ADDR"
read ADDR
echo "FN"
read FN
echo "PA"
read PA
while [$X <= $PA] do
wget -O "$FN.00$X.txt" $ADDR#$Y
X=$(($X+1))
Y=$(($Y+3))
done
要撷取特定页面的文字内容跟改档名 但是他一直显示
syntax error near unexpected token `done'
拿掉while loop的话 可以正常运行一次
但是加上循环之后 一直出现语法错误 我有点找不太出来问题出在哪边
尝试把done改成标注 但是问题变更多了
想请问一下我这个while loop问题到底出在哪
(看了很久想了很久找google也很久了 还是看不太出来问题在哪)
请看出问题点的版友帮忙解答一下 非常感谢
作者: gusion   2022-08-16 21:01:00
while后面的判断式,中刮号里面要空格,另外do之前要分号,不然do要换行另外<=要改成-lehttp://tpcg.io/_O7M9AX
楼主: dotb (dotb)   2022-08-16 21:15:00
谢谢gu大 我去测试测试谢谢 成功了!
作者: lantw44 (#######################)   2022-08-20 14:41:00
建议所有有 $ 的东西都要用 " 括起来,不然遇到空格或 *之类的特殊字元会坏掉。
楼主: dotb (dotb)   2022-08-22 08:00:00
谢谢L大 很好的建议 我的字串刚好遇到这些问题 XD
作者: lantw44 (#######################)   2022-08-22 23:54:00
可以装个 shellcheck 帮忙检查常见错误。
作者: holishing   2022-08-24 00:56:00
推 shellcheck, vim 系列和 vscode 扩充元件装起来都很方便
作者: peterbrucele (DM5)   2022-08-29 03:16:00
shellcheck 永远的神
作者: newversion (海纳百川)   2022-11-15 17:55:00
[[ 效能会比 [ 好一点[ 是执行外部指令 test(1)
作者: lantw44 (#######################)   2022-12-17 14:38:00
bash 的 [ 也是内部指令喔,除非你把它关掉。

Links booklink

Contact Us: admin [ a t ] ucptt.com