logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 Re : Scripts, programmes et robots » script avec redirection et enchainements » 28-01-2021 08:18:47

moreje

Beta-Pictoris a écrit :

Tu as écris ceci :

Si le résultat de [ ! -e File1 ] est faux alors si le résultat de "CMD1 File1 | awk '{ FS = ":" } ; {ORS="\t"} ; {print $2}'" est faux alors exécute "echo suite"
Si le résultat de [ ! -e File1 ] est vrai alors exécute "printf "%s\t" "ND""


Tu pourrais aussi l'écrire avec des if then else fi... quelque chose comme ceci : (Pas testé: à vérifier)

( if [ ! -e "File1" ]; then
   printf "%s\t" "ND"
 elif  ! CMD1 File1 | awk -F":" '{printf "%s\t" , $2}' ; then
   echo suite
 fi ) >> toto.txt


Ou en plus compact : (A vérifier)

( [ ! -e File1 ] && printf "%s\t" "ND" || CMD1 File1 | awk -F":" '{printf "%s\t" , $2}'; [ ${PIPESTATUS} -ne 0 ] &&  echo suite ) >> toto.txt


.



oui, j'avais bien pensé à la boucle if effectivement, et en fait, avec cette méthode, pas besoin de la partie

echo suite



ce que je ne comprends toujours pas, dans ma premiere version, c'est que "echo suite", je ne le vois pas s’exécuter (d'ailleurs j'en ai pas besoin), mais par contre, il est nécessaire pour que "printf "%s\t" "ND" s'exécute scratchhead.gif

je vais tester ta forme compacte...

#2 Re : Scripts, programmes et robots » script avec redirection et enchainements » 28-01-2021 08:11:49

moreje

Beta-Pictoris a écrit :

vv222 a écrit :

Le souci ici c'est que l'opérateur '||' agit en fonction du code de retour de awk, pas celui de CMD1.

Voici une proposition passant par un code de retour stocké dans une variable, mais il y a sûrement d'autres manières de gérer ça :

{ CMD1 ; CMD1_STATUS=$? ; } | awk '{ FS = ":" } ; {ORS="\n"} ; {print $2}' >> toto.txt
[ $CMD1_STATUS -eq 0 ] || printf "%s\n" "ND" >> toto.txt


Oui, avec bash, le tableau PIPESTATUS fournit un code de retour en fonction de la postion dans la pipeline.
.



Avec cette methode je n'ai pas réussi a updater $CMD1_STATUS. Peut etre parce que CMD1 n'est pas une commande bash, mais un executable (j'avais mis CMD1 pour simplifier)

#3 Re : Scripts, programmes et robots » script avec redirection et enchainements » 27-01-2021 17:01:41

moreje
Bon, j'ai fini par m'en sortir, mais je suis pas vraiment satisfait de ma methode, d'autant que j'ai pas compris pourquoi elle marche:

[ ! -e File1 ] || CMD1 File1 | awk '{ FS = ":" } ; {ORS="\t"} ; {print $2}' >> toto.txt || echo suite && printf "%s\t" "ND" >> toto.txt



j'ai bien le comportement voulu, mais je n'arrive pas a comprendre pourquoi j'ai du insérer ** || echo suite && **

vous avez une idée?
merci

#4 Re : Scripts, programmes et robots » script avec redirection et enchainements » 27-01-2021 09:33:37

moreje
Merci,
je vais tester cette solution.
l'option conditionnelle de awk ne devrait pas fonctionner pusque à mon avis, awk ne s execute pas du fait de l'echec de CMD1
en fait, je me demandais s'il n'etait pas possible d'avoir un code retour pour l'ensemble ( CMD1 | awk ) ??

#5 Scripts, programmes et robots » script avec redirection et enchainements » 26-01-2021 15:25:05

moreje
Réponses : 9
Bonjour,
j'ai l' enchainement de commandes suivant:

CMD1 | awk '{ FS = ":" } ; {ORS="\n"} ; {print $2}'  >> toto.txt



lorsque CMD1 passe bien, pas de soucis, mon fichier toto.txt s'incrémente bien
mais j'aimerais que quand CMD1 échoue, j'aie une ligne ND qui s'ajoute

j'ai essayé:

CMD1 | awk '{ FS = ":" } ; {ORS="\n"} ; {print $2}'  >> toto.txt     ||  printf "%s\n" "ND" >> toto.txt    




mais ça ne marche pas

Avez vous une idée??

Merci
J

#6 GNOME » Gestion sessions » 03-11-2020 10:39:40

moreje
Réponses : 1
Bonjour,
j'utilise en local la session graphique de Gnome sur ma Debian 10
à distance, je me connecte à ma session avec X2Go avec un environnement MATE.
Mon probleme est: si ma session graphique est lancée et certaines appli ouvertes (Chrome par exemple), alors je ne peux pas les lancer sur la session distante.
Y a t il un moyen de contourner  ça?
si non, comment faire pour simplement fermer ma session locale depuis ma session distante?
Merci
J

#7 Matériel » erreurs au boot » 30-05-2016 18:30:11

moreje
Réponses : 1
J'ai un system à base debian (OpenMediaVault) qui me lance pas mal d'erreurs au moment du boot...
parfois ça bloque le lancement, parfois non...
où et comment puis-je retrouver ces erreurs pour essayer d'en trouver l'origine?
Merci
M

#8 LXDE / LXQt » session vnc » 06-04-2016 14:42:16

moreje
Réponses : 1
Bonjour,
je souhaiterais utiliser vnc4server sur une machine Debian Jessie configurée avec l'environnement LXDE
Je dois pour ça parametrer un fichier xstartup pour le serveur vnc mais je ne trouve pas les commandes à y ajouter
Quelqu'un peut il m'aider?
Merci
Jerome

#10 Re : Gestion des paquets Debian » install à partir de dépots Backports » 18-03-2016 17:00:23

moreje
oui, j'ai bien fait l'install d'octave

mais ensuite dans octave, le package image n'est pas disponible (pkg load image : package is not installed)
donc j'essaie de l'installer et ça marche pas....
j'en conclus que je ne peux pas l'installer par les dépots et je vais voir si je peuxx le faire manuellement

#11 Re : Gestion des paquets Debian » install à partir de dépots Backports » 18-03-2016 16:24:23

moreje
alors c'est simple...mais pas que smile

j'ai ajouté les backports: OK
j'ai installé Octave: OK, j'ai bien la version 4 maintenant
par contre, pour les packages octaves...ça plante:

apt-get -s install -t jessie-backports octave-image
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances      
Lecture des informations d'état... Fait
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l'impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n'ont pas encore
été créés ou ne sont pas sortis d'Incoming.
L'information suivante devrait vous aider à résoudre la situation :

Les paquets suivants contiennent des dépendances non satisfaites :
 octave-image : Dépend: octave (>= 3.8.2) mais ne sera pas installé
                Dépend: octave-general (>= 1.3.0) mais ne sera pas installé
                Dépend: octave-signal (>= 1.2.0) mais ne sera pas installé
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».
 

#12 Re : Gestion des paquets Debian » install à partir de dépots Backports » 18-03-2016 15:07:09

moreje
merci! je vais essayer ça...
par contre, du coup, pour la version que j'ai déjà installée.. si je veux que ça soit celle des backports qui remplace, est ce que je désinstalle l'ancienne avant, ou je fais simplement une install avec  -t jessie-backport ??

#13 Gestion des paquets Debian » install à partir de dépots Backports » 18-03-2016 14:45:21

moreje
Réponses : 13
Bonjour,
j'ai un logiciel à installer (OCTAVE) dont c'est plutot la version dans les backports qui m'interresse.
Comment dois je faire pour:

installer cette version du logiciel
etre sur que toutes les mises à jour de mon système ne se fassent pas dans les backports, mais seulement pour ce logiciel?

J'ai déjà installé octave depuis les dépots stables.... faut il le désinstaller d'abord?

Merci pour votre aide
M

Pied de page des forums

Propulsé par FluxBB