Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/11/2020, à 14:38

philoeil

[RESOLU] question de redirection

Bonjour,
sur 1 suite de commande rm
Je souhaite comptabiliser le nombre de commande qui réussissent et le nombre qui échouent et envoyer le tout dans un fichier journal et à l'écran

J'ai essayé ceci mais cela échoue

#!/bin/bash
touch ./bidon
truncate -s 0 Journal.txt
ls bidon && echo "bidon existe"

let CompteNombreFichierSupprim=0
#rm -v ~/Documents/JeCodeShell/TestRedirection/bidon && let "CompteNombreFichierSupprim +=1" | tee -a ./Journal.txt
rm -v ~/Documents/JeCodeShell/TestRedirection/bidon && echo "reussite" && let "CompteNombreFichierSupprim +=1" | tee -a ./Journal.txt
touch ./bidon
rm -v ~/Documents/JeCodeShell/TestRedirection/bidon && echo "reussite" && (( CompteNombreFichierSupprim ++ )) | tee -a ./Journal.txt
touch ./bidon
rm -v ~/Documents/JeCodeShell/TestRedirection/bidon && echo "reussite" && let "CompteNombreFichierSupprim = $CompteNombreFichierSupprim + 1" | tee -a ./Journal.txt
touch ./bidon
rm -v ~/Documents/JeCodeShell/TestRedirection/bidon && echo "reussite" && ((CompteNombreFichierSupprim = $CompteNombreFichierSupprim + 1)) | tee -a ./Journal.txt
touch ./bidon

rm -v ~/Documents/JeCodeShell/TestRedirection/bidon && echo "reussite" || echo "echec" | tee -a ./Journal.txt

rm -v ~/Documents/JeCodeShell/TestRedirection/bidon && echo "reussite " || echo "echec" | tee -a ./Journal.txt

echo "CompteNombreFichierSupprim=$CompteNombreFichierSupprim"

echo " le journal :"
cat ./Journal.txt

Le resultat :

$ ./RedirRm1.sh 
bidon
bidon existe
'/home/phil/Documents/JeCodeShell/TestRedirection/bidon' supprimé
reussite
'/home/phil/Documents/JeCodeShell/TestRedirection/bidon' supprimé
reussite
'/home/phil/Documents/JeCodeShell/TestRedirection/bidon' supprimé
reussite
'/home/phil/Documents/JeCodeShell/TestRedirection/bidon' supprimé
reussite
'/home/phil/Documents/JeCodeShell/TestRedirection/bidon' supprimé
reussite
'/home/phil/Documents/JeCodeShell/TestRedirection/bidon' supprimé
reussite
'/home/phil/Documents/JeCodeShell/TestRedirection/bidon' supprimé
reussite
rm: impossible de supprimer '/home/phil/Documents/JeCodeShell/TestRedirection/bidon': Aucun fichier ou dossier de ce type
echec
CompteNombreFichierSupprim=0
 le journal :
echec

Comment corriger pour que cela fonctionne ?

Merci

Dernière modification par philoeil (Le 08/11/2020, à 19:21)

Hors ligne

#2 Le 08/11/2020, à 15:10

Hizoka

Re : [RESOLU] question de redirection

Salut,

echecs=0
reussites=0
if rm ~/Documents/JeCodeShell/TestRedirection/bidon 
then
  echo "reussite" >> Journal.txt
  ((reussite++))
else
  echo "echec" >> Journal.txt
  ((echecs++))  
fi

ou

rm ~/Documents/JeCodeShell/TestRedirection/bidon
Retour=$?
case ${Retour} in
  0) echo "reussite" >> Journal.txt
  ((reussite++)) ;;
  *) echo "echec n°${Retour}" >> Journal.txt
  ((echecs++))  ;;
esac

ou avec le message

Retour=$(rm -v ~/Documents/JeCodeShell/TestRedirection/bidon 2>&1)
Numero=$?
case ${Numero} in
  0) echo "reussite" >> Journal.txt
  ((reussite++)) ;;
  *) echo "echec n°${Numero} : ${Retour}" >> Journal.txt
  ((echecs++))  ;;
esac

Dernière modification par Hizoka (Le 08/11/2020, à 15:22)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#3 Le 08/11/2020, à 15:57

philoeil

Re : [RESOLU] question de redirection

Bonjour,

Merci Hizoka ta solution fonctionne

Quelqu'un peut-il me dire pourquoi la commande suivante n'ajoute pas 1 à ma variable "CompteNombreFichierSupprim" quand la commande rm réussie?

touch ./bidon
rm -v ~/Documents/JeCodeShell/TestRedirection/bidon && echo "reussite" && (( CompteNombreFichierSupprim ++ )) 

Hors ligne

#4 Le 08/11/2020, à 16:20

pingouinux

Re : [RESOLU] question de redirection

Bonjour,
Peut-être n'as-tu pas lancé la commande à partir de ce répertoire ?

~/Documents/JeCodeShell/TestRedirection/

Hors ligne

#5 Le 08/11/2020, à 19:21

philoeil

Re : [RESOLU] question de redirection

Bonjour,

Merci Pingouinux
Tu as raison la commande fonctionne
Mon erreur était le tube vers le fichier journal

Le code suivant ne marchait pas

$ rm -v ~/Documents/JeCodeShell/TestRedirection/bidon && echo "reussite" && (( CompteNombreFichierSupprim ++ )) | tee -a ./Journal.txt

Alors que la ligne suivante marche bien

phil@phil-G750JH:~/Documents/JeCodeShell/TestRedirection$ touch ./bidon
phil@phil-G750JH:~/Documents/JeCodeShell/TestRedirection$ rm -v ~/Documents/JeCodeShell/TestRedirection/bidon && echo "reussite" && (( CompteNombreFichierSupprim ++ )) 
'/home/phil/Documents/JeCodeShell/TestRedirection/bidon' supprimé
reussite
phil@phil-G750JH:~/Documents/JeCodeShell/TestRedirection$ echo $CompteNombreFichierSupprim
1

J'aurais du plus tester avant de poster désolé et merci à tous

Hors ligne