probleme avec une boucle if en cshell

probleme avec une boucle if en cshell - Shell/Batch - Programmation

Marsh Posté le 22-06-2008 à 11:34:55    

Bonjour,  
J'aurais besoin de votre aide, sur un point particulierement et bien su si vous avez le temps j'ai d'autres petites questions...  
Alors tout d'abord, un de mes script ne veut pas s'executer correctement, il m'affiche ce message:  
if: Malformed file inquiry.
 
Voila une partie du script:  

Code :
  1. if ( $type == "-all" ) then
  2. source fonction1 $a all
  3. endif
  4. if ( $type == "-per-genre" ) then
  5. source fonction1 $a per-genre
  6. endif


 
a est un fichier text recu dans ce script  
type est un nom recu par la fonction  
fonction1 est une fonction ecrite dans un autre script  
 
Comme vous pouvez le voir les 2 if sont identiques, le premier marche le deuxieme non, apparement il a un probleme avec "-genre" si quelqu'un sait pourquoi ça m'aiderait beaucoup...  
 
Sinon j'ai 2 autres petites question, comment passe t'on a la ligne en cshell dans un echo(un equivalent de /n en C)?  
Je n'arrive a executer mes script qu'avec source et non pas avec ./, quelqu'un sait ce que je dois faire?  
Merci!!

Reply

Marsh Posté le 22-06-2008 à 11:34:55   

Reply

Marsh Posté le 22-06-2008 à 13:16:48    

Ce sujet a été déplacé de la catégorie OS Alternatifs vers la categorie Programmation par Mikala


---------------
Intermittent du GNU
Reply

Marsh Posté le 22-06-2008 à 20:26:56    

Essaie de mettre -per-genre entre apostrophes plutôt, pour éviter l'interpolation du shell ?
 
Pour le  \n de echo, il faut utiliser /usr/bin/echo, et non "echo" tout court qui est la fonction built-in du shell. Il me semble en effet que ce dernier ne gère pas les caractères échappés.
 
Si tu essaies ./script et que ça ne fonctionne pas, alors que c'est ok avec "source ./script", c'est très probablement que le script n'a pas les droits d'exécution.
Essaie "chmod 755 script", et "man chmod" pour savoir exactement ce que fait cette commande.

Reply

Marsh Posté le 22-06-2008 à 23:20:35    

Merci!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed