2009-12-11 5 views
0

Here i have got various inputs from keyboard and checked these validationsCe qui ne va pas dans ce code

Book_id doit être unique.
code sujet ne peut être UNIX ou C.Le shelll je travaille est bash

i obtenu les erreurs suivantes

./test.sh: ligne 5: déclarer: `= 0' : non valide identifiant
/test.sh: ligne 13: unix: command not found
./test.sh: ligne 92: erreur de syntaxe: fin de fichier inattendue

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

Il peut être utile de mentionner le langage de programmation dans lequel vous écrivez. –

+0

Sur quel shell est-ce que cela fonctionne? –

+1

au début, je pensais que c'était bash, mais les instructions if sont tous foiré pour cela .. – falstro

Répondre

1

Je suggère que vous avez lu un tutoriel bash like this one . Cela vous aidera à vous habituer à la syntaxe bash.

1

le premier est qu'aucun espace ne doit être placé entre variable et = symbole. comme x = 0;

la seconde est dans les conditions IF, utilisez le symbole [] ou (()) au lieu de(). 3e, je ne vois pas de 92e ligne dans votre script. Je vous suggère d'essayer de mettre une nouvelle ligne (ligne vide) après la dernière ligne de votre code.

+0

im capable de résoudre cette erreur ./test.sh: ligne 92: erreur de syntaxe: fin inattendue du fichier que dois-je faire – Arunachalam

+0

salut arunachalam, est que tout le code que vous utilisez? Si oui, je ne peux pas voir une ligne 92e. cependant j'ai trouvé une chose de plus dans la fonction Book, chage la ligne declare -ii = 0 pour déclarer -ii = 0 [enlever l'espace before = signe] –

Questions connexes