Besoin d'un EXPERT LINUX (script)

michelfavre38
2021-09-16 10:32:14

Les gars j'ai une question,
Je veux avec un seul script lancer deux commandes.
C'est à dire :
Je lance une premiere fois mon script sh /coin/coin.sh => ça me lance echo coucou
Je lance une deuxieme fois tjr le même script sh /coin/coin.sh => ça me lance echo coucou2
Et que ça tourne en boucle (troisieme fois echo coucou donc :hap: )

C'est possible ou pas ? :( 2H que je galère :hap:

LeGoutteux1
2021-09-16 10:34:52

mets une variable dans le script dans laquelle tu fais +1
ensuite tu fais une condition si la variable est paire tu exécutes le script 2, else le script 1

PSVitaBide
2021-09-16 10:35:14

Tu veux un script qui a une mémoire de combien de fois il a été appelé, et avoir un comportement différent à chaque fois ? A ma connaissance, c'est faisable de façon consistante qu'en stockant le nombre de passage dans un fichier tierce, en le lisant et modifiant à chaque appel.
Tu peux sans doute aussi le faire en exportant des variables, mais ça survit pas à ton shell. :hap:

michelfavre38
2021-09-16 10:39:57

Les gars j'ai oublié de préciser que je suis une vrai dob en script.
En tout cas merci à vous 2.
Mon script est le suivant



#!/bin/bash

# $1 est le code émis reçu en argument par le script
case $1 in
#Alarme Desactiver
11741730) sh /home/pi/scripts/gavance.sh
;;
#alarme Activer
11741730) sh /home/pi/scripts/gstop.sh
;;
esac


Pr résumer vite fait, j'appuie sur un bouton de ma télécommande, ça lance le script que j'ai mis au dessus. et donc la premiere commande sh /home/pi/scripts/gavance.sh
et donc si je rappuie sur le bouton il faut que ça lance la commande 'sh /home/pi/scripts/gstop.sh'

Est-ce que vous pouvez m'aider svp ? :hap:

michelfavre38
2021-09-16 10:43:07

ça me semble compliqué :(

michelfavre38
2021-09-16 10:46:28

up les gars

HardCoffeeCream
2021-09-16 10:46:41

Le 16 septembre 2021 à 10:34:52 :
mets une variable dans le script dans laquelle tu fais +1
ensuite tu fais une condition si la variable est paire tu exécutes le script 2, else le script 1

il faut stocker une variable qui sera lu dans le script pour alterner

PSVitaBide
2021-09-16 10:48:14

Tu veux juste un compteur sur 1 bit, c'est vraiment loin d'être compliqué, je suis juste pas trop sûr de comment tu veux t'y prendre, tu veux faire quoi avec ton case ? Tes deux branches représentent le même cas, ça ne sert à rien.

Tu crée un fichier file1.txt dans le même répertoire, avec juste un 0 dedans, tu rajoutes dans ton script :
awk -F, '$2=$2+1' OFS=, file1.txt
et tu fais ton script 1 si $2%2 == 0, sinon ton script 2.

HardCoffeeCream
2021-09-16 10:49:56

tu peux faire un une variable globale $a, avec le code a=!a dans la boucle ( dans le langage que tu utilise ) dans le script principal avec a défini en boleen sur true
le script secondaire lira $a et alternera avec un case ou un simple if

PSVitaBide
2021-09-16 10:52:32

Le 16 septembre 2021 à 10:49:56 :
tu peux faire un une variable globale $a, avec le code a=!a dans la boucle ( dans le langage que tu utilise ) dans le script principal avec a défini en boleen sur true
le script secondaire lira $a et alternera avec un case ou un simple if

C'est pas mal mais ça dépend de si t'es dans une boucle, où sur un script appelé par un listener. :hap:
Si c'est juste un script appelé, t'as besoin d'un contexte permanent, et pas juste temporaire comme une variable.

michelfavre38
2021-09-16 10:55:23

Les gars vous faites exprès de me parler en chinois ? :rire:
Je comprends rien :(
Mon script est en haut, ou mettre cette variable que vous parler tous?

chaingy
2021-09-16 10:55:25

Un script est sans état donc tu ne peux pas ajouter +1 a chaque fois que tu le lance si tu quittes le script

michelfavre38
2021-09-16 10:58:29

Le 16 septembre 2021 à 10:55:25 :
Un script est sans état donc tu ne peux pas ajouter +1 a chaque fois que tu le lance si tu quittes le script

hm... bien sur :hap:

michelfavre38
2021-09-16 11:04:05

Les gars help me

FoutuPseudo
2021-09-16 11:06:14

Les premières années de fac informatique on vous voit :)

PSVitaBide
2021-09-16 11:07:33

Le 16 septembre 2021 à 10:55:23 :
Les gars vous faites exprès de me parler en chinois ? :rire:
Je comprends rien :(
Mon script est en haut, ou mettre cette variable que vous parler tous?

En gros :

Ton script, en l'état actuel, il dit :
Si tu t'appelles 11741730, fais A
Si tu t'appelles 11741730, fais B

Donc ton script, il a un argument qui s'appelle 11741730, il va faire A et B.

Toi, ce que tu veux, c'est de dire :
Si tu t'appelles 11741730:
Regarde le nombre dans ce fichier, s'il est pair, fait A, sinon fait B.

C'est plus clair?

michelfavre38
2021-09-16 11:30:43

Le 16 septembre 2021 à 11:07:33 :

Le 16 septembre 2021 à 10:55:23 :
Les gars vous faites exprès de me parler en chinois ? :rire:
Je comprends rien :(
Mon script est en haut, ou mettre cette variable que vous parler tous?

En gros :

Ton script, en l'état actuel, il dit :
Si tu t'appelles 11741730, fais A
Si tu t'appelles 11741730, fais B

Donc ton script, il a un argument qui s'appelle 11741730, il va faire A et B.

Toi, ce que tu veux, c'est de dire :
Si tu t'appelles 11741730:
Regarde le nombre dans ce fichier, s'il est pair, fait A, sinon fait B.

C'est plus clair?

Laisse moi un peu de temps pour réfléchir :hap: merci

PSVitaBide
2021-09-16 11:33:26

Le 16 septembre 2021 à 11:30:43 :

Le 16 septembre 2021 à 11:07:33 :

Le 16 septembre 2021 à 10:55:23 :
Les gars vous faites exprès de me parler en chinois ? :rire:
Je comprends rien :(
Mon script est en haut, ou mettre cette variable que vous parler tous?

En gros :

Ton script, en l'état actuel, il dit :
Si tu t'appelles 11741730, fais A
Si tu t'appelles 11741730, fais B

Donc ton script, il a un argument qui s'appelle 11741730, il va faire A et B.

Toi, ce que tu veux, c'est de dire :
Si tu t'appelles 11741730:
Regarde le nombre dans ce fichier, s'il est pair, fait A, sinon fait B.

C'est plus clair?

Laisse moi un peu de temps pour réfléchir :hap: merci

Aucun soucis, écris moi si t'as encore besoin d'aide :hap:

michelfavre38
2021-09-16 11:50:10

Le 16 septembre 2021 à 11:07:33 :

Le 16 septembre 2021 à 10:55:23 :
Les gars vous faites exprès de me parler en chinois ? :rire:
Je comprends rien :(
Mon script est en haut, ou mettre cette variable que vous parler tous?

En gros :

Ton script, en l'état actuel, il dit :
Si tu t'appelles 11741730, fais A
Si tu t'appelles 11741730, fais B

Donc ton script, il a un argument qui s'appelle 11741730, il va faire A et B.

Toi, ce que tu veux, c'est de dire :
Si tu t'appelles 11741730:
Regarde le nombre dans ce fichier, s'il est pair, fait A, sinon fait B.

C'est plus clair?

J'ai compris quelque chose, j'ai compris quelque chose !! :rire:
Merci, maintenant la pratique :(

AgentAntiPass57
2021-09-17 09:37:21

Alors fiston, t'as réussi?

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    ⚠️ Les archives de novembre sont désormais disponibles.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.