CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [Help] Script Bash

DébutPage précedente
1
Page suivantePage suivante
GodWasHere GodWasHere
MP
Niveau 16
25 mai 2016 à 19:51:33

Salut a tous,

Je souhaiterais savoir comment faire une condition en fonction de son retour.

C'est a dire si je lance commande wget www.vlvlvlvl.fr/hello.txt si la commande a une erreur, que je demande a mon script de faire autre chose.

wlan0 wlan0
MP
Niveau 8
25 mai 2016 à 19:55:53

$?

GodWasHere GodWasHere
MP
Niveau 16
25 mai 2016 à 20:25:34

$ c'est pour faire appel a une variable créé au dessus non ?

lafameusetrace lafameusetrace
MP
Niveau 8
25 mai 2016 à 21:09:50

"$?" te renvoie un code de retour pour savoir si la dernière commande s'est executé correctement, donc pour ton test, tu as juste à tester la valeur de $?

0 = pas d'erreur
sinon le nombre renvoyé est le code de l'erreur

exemple :
$touch fichier $sl bash: sl : commande introuvable $echo $? 127 $ls fichier $echo $? 0 $mkdir truc $echo $? 0 $mkdir truc mkdir: impossible de créer le répertoire « truc »: Le fichier existe $echo $? 1

Message édité le 25 mai 2016 à 21:10:08 par lafameusetrace
Pseudo supprimé
Niveau 9
26 mai 2016 à 01:11:49

Le 25 mai 2016 à 23:07:20 Xantown7 a écrit :
if [[ ${?} == 1 ]] then #intérieur de ta condition fi

Voilà :noel: Tu remplaces le 1 par la valeur de retour que tu veux check et c'est bon

Enfin dans ce cas faudrait plutot qu'il vérifie si c'est différent de 0

wlan0 wlan0
MP
Niveau 8
26 mai 2016 à 10:15:23

Xantown, répond a ton topic sur gcc sinon tu vas avoir des ennuis :sournois:

GodWasHere GodWasHere
MP
Niveau 16
26 mai 2016 à 10:38:54

Merci a tous, j'ai compris et ça a bien fait avancer mon script.

Runnymede Runnymede
MP
Niveau 10
26 mai 2016 à 10:39:56

Le 26 mai 2016 à 10:15:23 wlan0 a écrit :
Xantown, répond a ton topic sur gcc sinon tu vas avoir des ennuis :sournois:

y'a les MPs pour éviter ce genre de messages inutiles :(

Kientz Kientz
MP
Niveau 10
27 mai 2016 à 22:21:39

Ou simplement un

if lacommande
then
    truc
else
    bidule
fi

if vérifie en fait justement le code de retour d'une commande. Les [[ ]] sont une autre écriture de la commande test (voir man test) qui termine correctement (0) quand la condition en argument est vérifiée.

Et si il n'y a qu'à agir en cas de succès en ne faisant pas grand chose, il reste plus simple de faire lacommande && truc, truc ne sera exécuté que si lacommande réussit.

Message édité le 27 mai 2016 à 22:22:00 par Kientz
DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
La vidéo du moment