2009-12-11 93 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] –