bonjour,
voila, je n'ai absolument aucune connaissance en scripting bash, mais malgré tout j'ai besoin de faire un script qui serait sous cette forme :
si $a et $b = $c alors faire ceci
sinon faire ceci
en fait je n'arrive pas a trouver comment faire le et . d’après ce que j'ai pu trouver il faudrait utiliser & mais il manque de guillemets quelque part apparemment mais je n'arrive pas a savoir où les placer. je galère un peux, si quelqu'un pouvais m'aiguiller :)
# lire la doc, trouver des exemples sur le web
Posté par NeoX . Évalué à 3.
premier lien renvoyé par la recherche suivante dans un moteur de recherche americain dont le nom en francais serait jumelles : script bash et condition
http://www.linuxtutorialblog.com/post/tutorial-conditions-in-bash-scripting-if-statements
ca parle justement des conditions (IF) et des options and/or
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par menza . Évalué à 0.
merci pour le lien, il y a pas mal de chose. mais il n'y a rien concernant ce que je recherche. il y a beaucoup de trucs pour comparer par exemple $a et $b mais ce n'est pas exactement ce que je souhaiterais faire
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par claudex . Évalué à 4.
Pourtant, d'après ton message, on comprend que tu veux comparer $a, $b et $c. Soit tu n'as pas bien compris le lien, soit tu t'es mal exprimé.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par menza . Évalué à 0.
il for probable vu mon experience en la matiere que je me soit mal exprimé je te l'acorde.
seulement dans le liens que tu donne je ne vois que la comparaisont entre deux variables (variable ?). moi j'ai besoin de faire une comparaison entre 3 :
si la premiere ET la deuxieme = a la troisieme alors tatati tatata.
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par NeoX . Évalué à 3.
qui s'ecrit en algorythmie
si (( premiere = troisieme ) ET ( deuxieme = troisieme ))
alors blablabla
et qui ensuite se traduit en code par des operations connues
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par menza . Évalué à 0.
en fait j'ai fait comme ça:
si [[ premier & "deuxieme" = troisieme ]] ;alors …
ça semble fonctionner. j'ai pris exemple la dessus en fait:
if [[ $num -eq 3 && "$stringvar" == foo ]]; then
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par ze_lionix (site web personnel) . Évalué à 1.
Ca peux aussi s'écrire pour mettre en avant les deux conditions de manière séparée, moi je préfère je trouve cela plus lisible mais chacun fait comme il veux einh…
if [ premier ] && [ "deux" == "trois" ]; then
blabla
Fuse : j'en Use et Abuse !
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par NeoX . Évalué à 3.
en fait il faut que tu saches ce que tu veux comparer.
là tu dis que tu compares l'egalité deuxieme/troisieme
et que tu fais un ET avec l'existence de premier.
ce qui fait que tu aurais vrai si :
- premier different de 0 (0 equivaut à faux dans les tests logiques)
- deuxieme different de troisieme
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par menza . Évalué à -1.
j'ai voulu essayer ta méthode, qui me paraissais plus claire, mais malheureusement ça ne fonctionne pas. les parenteses il n'en veux pas, j'ai essayé de remplacer par les crochets mais c'est pas mieux. par contre ce que j'ai fait semble fonctionner. je crois que je vais rester la dessus. en gros, je recupere la date du jour (troisieme) et je dis:
si le "premier" fichier et le "deuxieme" fichier ont la meme date que la date du jour (troisieme) alors affiche ok sinon affiche pas ok.
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par NeoX . Évalué à 3.
sauf que de la maniere dont tu as ecrit le code plus haut tu ne fais finalement que :
moi je t'ecris la logique en francais (on appelle ca de l'algorytmie : decrire ton probleme et le decomposer en action plus simple)
et je te proposais de tester :
pour bien etre sur de faire le test sur les deux objets à tester (date_1e et date_2e)
c'est exactement ce qui est fait dans l'exemple que tu as utilisé
qui se traduit en "francais" par :
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par menza . Évalué à 0.
yep, j'ai oublié la moitié des truc dans mon poste precedant.
mais ca fonctionne tres tres bien ceci : if [[ $num -eq 3 && "$stringvar" == foo ]]; then
encore merci ;)
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par nono14 (site web personnel) . Évalué à 2.
Fais attention l'orthographe pique les yeux.
Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par claudex . Évalué à 5.
C'est pour ça qu'il fait attention à ne pas en mettre de trop.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par arnaudus . Évalué à 2.
On peut trouver l'algorithme un peu lourd, puisqu'on explicite deux fois "troisieme". Il existe une alternative pour les langages de plus haut niveau qui peuvent comparer des vecteurs, par exemple en R:
Ceci dit, ça implique exactement le même nombre d'opérations.
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par hocwp (site web personnel) . Évalué à 1.
Après on peut utiliser un langage de niveau encore un peu plus élevé :
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par arnaudus . Évalué à 2.
Après, c'est une question de sémantique. Si la question c'est de comparer deux nombres A et B à 0, alors
if ((A == 0) && (B == 0))
me semble acceptable. Si la question est de comparer trois nombres A, B et C, alors je trouverais une formulation telle que:
if (A == B == C)
bien plus intuitive.
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par hocwp (site web personnel) . Évalué à 1.
Je répondais à la question de comparer trois nombres A, B et C comme indiqué dans le message juste au dessus. Après c'est juste une question de notation préfix, infix ou postfix. Mais c'est vrai qu'il faut faire un peu de gymnastique pour changer de notation.
[^] # Re: lire la doc, trouver des exemples sur le web
Posté par menza . Évalué à 1.
bon j'ai de la m… dans les yeux. je viens de retourner sur la page et je tombe pile poile sur ce que je cherche. merci encore pour le liens ;)
ps: et ça fonctionne maintenant ;)
# HS
Posté par Frank-N-Furter . Évalué à 5.
Ça ne vous arrive jamais d'oublier l'espace qui suit le [ ou précède ] et de chercher pendant cinq minutes pourquoi votre script se vautre comme une loutre bourrée au kérosène sur une plage bretonne un soir de passage de l'Amoco Cadiz?
Depending on the time of day, the French go either way.
[^] # Re: HS
Posté par calandoa . Évalué à 4.
Oui, pendant plusieurs années… j'avais aussi essayé la technique « on met des espaces partout » qui foire à la première affectation
variable = contenu
.Mais maintenant, ça va mieux. Disons qu'il faut bien comprendre le mécanisme de parsing opéré par le shell pour ne plus se planter.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.