Probleme avec une boucle if en Cshell
nulle00
Messages postés
21
Statut
Membre
-
dubcek Messages postés 19021 Statut Contributeur -
dubcek Messages postés 19021 Statut Contributeur -
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:
if ( $type == "-all") then
source fonction1 $a all
endif
if ( $type == "-per-genre") then
source fonction1 $a per-genre
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!!
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:
if ( $type == "-all") then
source fonction1 $a all
endif
if ( $type == "-per-genre") then
source fonction1 $a per-genre
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!!
A voir également:
- Probleme avec une boucle if en Cshell
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
- Pc qui s'allume et s'éteint en boucle - Forum Virus
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
7 réponses
est ce que
source fonction1 $a per-genre
fonctionne manuellement ?
echo "aa\nbb" pour un saut de ligne
faire chmod u+x fichier
source fonction1 $a per-genre
fonctionne manuellement ?
echo "aa\nbb" pour un saut de ligne
faire chmod u+x fichier
que répond
ls -l fichier
pour le script, supprimer le - pour voir
source fonction1 $a perXgenre
que contient $a ?
essayer
if ( "$type" == "-per-genre") then
exécuter en mode debug
set -x
ls -l fichier
pour le script, supprimer le - pour voir
source fonction1 $a perXgenre
que contient $a ?
essayer
if ( "$type" == "-per-genre") then
exécuter en mode debug
set -x
ls -l fichier me renvoit:
-rwxr--r-- 1 nomd'utilisateur users 406 Jun 22 03:23 fichier
Alors bizarrement maintenant, ./fichier ne me repond plus par le meme message d'erreur apparement, il execute le script mais a quand meme un probleme:
./fichier: line 12: syntax error: unexpected end of file
alors qu'avec source lca marche parfaitement...
$a contient un fichier texte, qui contient plusieurs lignes sur un sujet donne, ça donne ca a peu pres...:
arthur 1998 garcon
lise 1997 fille
............
Meme en suprimant le - cela ne marche pas, mais si je mets aa a la place par exemple, ca marche.
Comment fait t'on pour executer en mode debug? On m'avait dit qu'il fallait mettre ecrire #!/bin/csh -fx mais ca ne marchait pas chez moi car j'utilisais source et non pas ./
Merci!
-rwxr--r-- 1 nomd'utilisateur users 406 Jun 22 03:23 fichier
Alors bizarrement maintenant, ./fichier ne me repond plus par le meme message d'erreur apparement, il execute le script mais a quand meme un probleme:
./fichier: line 12: syntax error: unexpected end of file
alors qu'avec source lca marche parfaitement...
$a contient un fichier texte, qui contient plusieurs lignes sur un sujet donne, ça donne ca a peu pres...:
arthur 1998 garcon
lise 1997 fille
............
Meme en suprimant le - cela ne marche pas, mais si je mets aa a la place par exemple, ca marche.
Comment fait t'on pour executer en mode debug? On m'avait dit qu'il fallait mettre ecrire #!/bin/csh -fx mais ca ne marchait pas chez moi car j'utilisais source et non pas ./
Merci!
Oui fonction $a per-genre marche...
Quand tu fais: echo "aa\nbb" tu obtiens
aa
bb
c'est ca?
Meme en faisant chmod u+x fichier ./ ne marche pas j'avais essaye, mais ca n'aide pas...
Merci de m'aider! ;)
Quand tu fais: echo "aa\nbb" tu obtiens
aa
bb
c'est ca?
Meme en faisant chmod u+x fichier ./ ne marche pas j'avais essaye, mais ca n'aide pas...
Merci de m'aider! ;)
pour le \n c'est ce que tu veux, non ?
en faisant ./fichier un message d'erreur ?
ne pas oublier #!/bin/csh en première ligne
en faisant ./fichier un message d'erreur ?
ne pas oublier #!/bin/csh en première ligne
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour le /n oui c'est bien ce que je voulais, je voulais juste verifier si j'avais bien compris...
En faisant ./fichier.., il y a:
./: Permission denied.
Oui, j'ecris toujours #!/bin/csh au debut de mes script.
Pas d'idees pour mon bug dans le if?
Merci!!
En faisant ./fichier.., il y a:
./: Permission denied.
Oui, j'ecris toujours #!/bin/csh au debut de mes script.
Pas d'idees pour mon bug dans le if?
Merci!!
il faut corriger l'erreur de syntaxe ligne 12
passer en paramètre une variable $a contenant plusieurs lignes me semble une source de problèmes
set -x ou csh -x c'est la même chose
passer en paramètre une variable $a contenant plusieurs lignes me semble une source de problèmes
set -x ou csh -x c'est la même chose
J'ai essayer de corriger l'erreur de syntaxe mais je n'en ai pas trouve, en plus comment ca se fait qu'avec source ca marche?
J'ai plusieurs foirs passer en paramètre une variable $a contenant plusieurs lignes et ca ne pose aucun probleme, pour preuve le premier if marche et qu'en je fais: source fonction1 $a per-genre ca marche aussi..
Pourquoi csh -x n'a aucune action chez moi alors?
J'ai plusieurs foirs passer en paramètre une variable $a contenant plusieurs lignes et ca ne pose aucun probleme, pour preuve le premier if marche et qu'en je fais: source fonction1 $a per-genre ca marche aussi..
Pourquoi csh -x n'a aucune action chez moi alors?
ce ne sert à rien de répeter qu'avec source ça marche, des erreurs peuvent apparaitre différemment.
une erreur de guillemets, par. ex. peut générer des erreurs différentes selon le contexte
./fichier: line 12: syntax error: unexpected end of file
ça veut dire qu'il y a une erreur. <- point
l'exécution d'un script csh peut aussi être influencée par le contenu de .cshrc
et csh -x fichier
une erreur de guillemets, par. ex. peut générer des erreurs différentes selon le contexte
./fichier: line 12: syntax error: unexpected end of file
ça veut dire qu'il y a une erreur. <- point
l'exécution d'un script csh peut aussi être influencée par le contenu de .cshrc
et csh -x fichier