[問題] 語法錯誤 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