2009-12-11 134 views
0

Here i have got various inputs from keyboard and checked these validations此代碼有什麼問題

Book_id必須是唯一的。
主題代碼只能是UNIX或C.The Shelll我的工作是bash的

我得到下列錯誤

./test.sh:行5:聲明:`= 0' :不是一個有效標識
/test.sh:第13行:UNIX:找不到命令
./test.sh:行92:語法錯誤:文件

echo -n "Enter Book Accession number: " 
     read Book_accession_number 

     declare -a var_id 
     declare -i i =0 

     subject() 
     { 
     echo -n "Enter Subject code:" 

     read Subject_code 

     if ("$Subject_code" != "unix") 
     then 
{ 
     if ("$Subject_code" != "c") 
     then 
{ 
     echo "please enter unix or c" 
     subject 
     } 
     fi 
} 
     fi 


     subject 
     Book() 
     { 
     echo -n "Enter Book ID:" 
     read Book_id 
     echo -n "Enter Book Accession number: " 
     read Book_accession_number 

     declare -a var_id 
     declare -i i =0 






     while(j -ne i) 
     { 
     j++ 
     if(var_id[i]==Book_id) 
     then 
     { 
     echo "please enter a unique id" 
     Book 
} 
     fi 


     } 

     Book 


     echo -n "Enter Author Name:" 
     read Author_name 

     echo -n "Enter Year of Publication:" 

     read YOP 

     echo -n "Enter Title of Book:" 

     read TOB 

     echo -n "Enter Publisher's name:" 

     read PUB_Name; 

     echo -n "Enter Price: " 
     read Price 
+0

提及您正在編寫這個程序的編程語言可能會有所幫助。 –

+0

這是哪個shell試圖運行? –

+1

起初我以爲是bash,但是if語句都搞砸了。 – falstro

回答

1

意外結束,我建議你讀了慶典教程like this one 。它會幫助你習慣bash語法。

1

第一個是空格應該放在變量和=符號之間。像x = 0;

第二個是在IF條件下使用[]或(())而不是()符號。

第三個,我沒有看到任何第92行在你的腳本。我建議你嘗試在代碼的最後一行之後放置一個新行(空行)。

+0

im not能夠解決這個錯誤./test.sh:行92:語法錯誤:文件 意外結束我應該怎麼辦 – Arunachalam

+0

喜arunachalam, 是您正在使用,如果,所以我不能看到第92行整個代碼? 但是我在函數Book中發現了另外一個東西 ,chage行聲明-ii = 0聲明-ii = 0 [刪除前面的空格= sign] –