看板 Linux 關於我們 聯絡資訊
大家好 想請問一下我這個簡單的腳本問題出在哪邊 #!/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也很久了 還是看不太出來問題在哪) 請看出問題點的版友幫忙解答一下 非常感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.126.7.67 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1660653438.A.042.html
gusion: while後面的判斷式,中刮號裡面要空格,另外do之前要分號 08/16 21:01
gusion: ,不然do要換行 08/16 21:01
gusion: 另外<=要改成-le 08/16 21:06
gusion: http://tpcg.io/_O7M9AX 08/16 21:10
dotb: 謝謝gu大 我去測試測試 08/16 21:15
dotb: 謝謝 成功了! 08/16 21:20
lantw44: 建議所有有 $ 的東西都要用 " 括起來,不然遇到空格或 * 08/20 14:41
lantw44: 之類的特殊字元會壞掉。 08/20 14:41
dotb: 謝謝L大 很好的建議 我的字串剛好遇到這些問題 XD 08/22 08:00
lantw44: 可以裝個 shellcheck 幫忙檢查常見錯誤。 08/22 23:54
holishing: 推 shellcheck, vim 系列和 vscode 擴充元件裝起來都很 08/24 00:56
holishing: 方便 08/24 00:56
peterbrucele: shellcheck 永遠的神 08/29 03:16
newversion: [[ 效能會比 [ 好一點 11/15 17:55
newversion: [ 是執行外部指令 test(1) 11/15 17:55
lantw44: bash 的 [ 也是內部指令喔,除非你把它關掉。 12/17 14:38