作者 主題: suse linux(shell的if,while語法錯誤)  (閱讀 5332 次)

0 會員 與 1 訪客 正在閱讀本文。

j89105

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
suse linux(shell的if,while語法錯誤)
« 於: 2011-03-11 18:11 »
如題,執行後發生語法錯誤的問題!請問哪邊出問題了??
第一種情況(if語法錯誤):
shell script的程式內容:
#!/bin/bash
nu=11
if[$nu -gt 10];then
 echo y
else
 echo n
fi

執行時的結果:
geeko@s1:~> ./test.sh
./test.sh: line 3: syntax error near unexpected token 'then'
./test.sh: line 3: 'if[$nu -gt 10];then'

第二種情況(while語法錯誤)
shell script的程式內容:
#!/bin/bash
nu=1
while[$nu -le 10]
do
 echo $nu
 nu=$(($nu+1))
done

執行時的結果:
geeko@s1:~> ./test1.sh
while[1 -le 10]:command not found
./test1.sh: line 4: syntax error near unexpected token 'do'
./test1.sh: line 4: 'do'
« 上次編輯: 2011-03-11 18:26 由 j89105 »

特級大肉腳

  • 憂鬱的高中生
  • ***
  • 文章數: 113
    • 檢視個人資料
回覆: suse linux(shell的if,while語法錯誤)
« 回覆 #1 於: 2011-03-11 18:26 »
if跟[ 是否黏在一起了
如題,執行後發生語法錯誤的問題!請問哪邊出問題了??

shell script的程式內容:
#!/bin/bash
nu=11
if[$nu -gt 10];then
 echo y
else
 echo n
fi

執行時的結果:
geeko@s1:~> ./test.sh
./test.sh: line 3: syntax error near unexpected token 'then'
./test.sh: line 3: 'if[$nu -gt 10];then'



j89105

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
回覆: suse linux(shell的if,while語法錯誤)
« 回覆 #2 於: 2011-03-11 18:31 »
有將if和while跟[空一格測試後,但卻發生bash: [11: command not found

if跟[ 是否黏在一起了
如題,執行後發生語法錯誤的問題!請問哪邊出問題了??

shell script的程式內容:
#!/bin/bash
nu=11
if[$nu -gt 10];then
 echo y
else
 echo n
fi

執行時的結果:
geeko@s1:~> ./test.sh
./test.sh: line 3: syntax error near unexpected token 'then'
./test.sh: line 3: 'if[$nu -gt 10];then'


« 上次編輯: 2011-03-11 18:33 由 j89105 »

特級大肉腳

  • 憂鬱的高中生
  • ***
  • 文章數: 113
    • 檢視個人資料
回覆: suse linux(shell的if,while語法錯誤)
« 回覆 #3 於: 2011-03-11 18:48 »
[ 內部的判斷句 ] 不要跟括號黏在一起。
bash的語法比其他程式語言嚴格,多注意一下這些細節吧.......

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: suse linux(shell的if,while語法錯誤)
« 回覆 #4 於: 2011-03-11 18:49 »
有將if和while跟[空一格測試後,但卻發生bash: [11: command not found

if [ $nu -gt 10 ];then

[ 前後, ] 前 都要空格

j89105

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
回覆: suse linux(shell的if,while語法錯誤)
« 回覆 #5 於: 2011-03-11 18:56 »
謝謝,剛剛有去測試過結果可以了,感謝