Bash passer une variable d'un scrip a l'autre
Fermé
xunil2003
Messages postés
766
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2024
-
Modifié par xunil2003 le 28/06/2012 à 13:13
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 28 juin 2012 à 13:58
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 28 juin 2012 à 13:58
A voir également:
- Bash passer une variable d'un scrip a l'autre
- Passer de windows 7 à windows 10 - Accueil - Mise à jour
- Passer de qwerty a azerty - Guide
- Passer de majuscule à minuscule - Guide
- Passer à la ligne dans une cellule excel - Guide
- Mettre un mot de passe sur un dossier - Guide
2 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
28 juin 2012 à 13:16
28 juin 2012 à 13:16
Salut,
Le plus simple est de sourcer ton script1.sh depuis ton script2.sh :
Le plus simple est de sourcer ton script1.sh depuis ton script2.sh :
#!/bin/bash source /chemin/script1.sh echo "$date2 - $utilisateur - $execution1 - $executable - $PROGRAMME" >> /home/serveur/Domotique/rapports/ordres/$date1-rapport-ordres.log
xunil2003
Messages postés
766
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2024
14
28 juin 2012 à 13:51
28 juin 2012 à 13:51
Bonjour,
Je n'ai pas trop bien compris source.
J'ai plusieurs programme pour executer la domotique.
j'ai donc créer un log pour savoir quel est le nom du programme qui a executé l'ordre domotique.
donc le plus simple est que je puisse récuperer le nom du programme dans le script2.sh qui ecrit dans le log les ordres domotique executé en indiquant de quel programme cela vient avec "$PROGRAMME"
Le problème est que je ne peut pas indiquer toute les "source" des scripts bash.
il y a asterisk, cm15demo, etc...
voila pourquoi dans les scripts qui export la variable je veut pouvoir définir le non du programme.
ou
merci.
Je n'ai pas trop bien compris source.
J'ai plusieurs programme pour executer la domotique.
j'ai donc créer un log pour savoir quel est le nom du programme qui a executé l'ordre domotique.
donc le plus simple est que je puisse récuperer le nom du programme dans le script2.sh qui ecrit dans le log les ordres domotique executé en indiquant de quel programme cela vient avec "$PROGRAMME"
echo "$date2 - $utilisateur - $execution1 - $executable - $PROGRAMME" >> /home/serveur/Domotique/rapports/ordres/$date1-rapport-ordres.log
Le problème est que je ne peut pas indiquer toute les "source" des scripts bash.
il y a asterisk, cm15demo, etc...
voila pourquoi dans les scripts qui export la variable je veut pouvoir définir le non du programme.
#!/bin/bash EXPORT PROGRAMME=Asterisk
ou
#!/bin/bash EXPORT PROGRAMME=cm15ademoetc...
merci.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
28 juin 2012 à 13:58
28 juin 2012 à 13:58
Je n'ai pas trop bien compris source.
man bash
En gros c'est comme si tu écrivais noir sur blanc "PROGRAMME=Asterisk" ou "PROGRAMME=cm15ademo" dans ton scrip2.sh.
Toutes les variables déclarées dans scrip1.sh seront interprétées et reconnues par script2.sh
man bash
. fichier [arguments] source fichier [arguments] Lire et exécuter les commandes contenues dans fichier avec l'environnement de l'interpréteur courant, puis renvoyer l'état final de la dernière commande exécutée dans fichier.
En gros c'est comme si tu écrivais noir sur blanc "PROGRAMME=Asterisk" ou "PROGRAMME=cm15ademo" dans ton scrip2.sh.
Toutes les variables déclarées dans scrip1.sh seront interprétées et reconnues par script2.sh