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 30/03/2017, à 11:44

marionz0210

Supprimer message d'erreur de la commande mv

Bonjour à tous ! smile

Je débute en bash. J'ai fait un script dans lequel j'utilise la commande mv à l'intérieur d'une boucle pour renommer des fichiers. Cependant, pour certains fichiers, un message d'erreur apparait : "000006" and "000006" are the same file. C'est vrai que pour certains fichiers de ma boucle, il n'y a pas de renommage nécessaire, mais je ne peut pas connaitre ces fichiers à l'avance.
Alors j'aimerais bien que ce message d'erreur n'aparraisse pas. Est ce que c'est possible ? Il y t-il une solution ?

Merci d'avance !

Marion

Hors ligne

#2 Le 30/03/2017, à 11:53

jplemoine

Re : Supprimer message d'erreur de la commande mv

marionz0210 a écrit :

Alors j'aimerais bien que ce message d'erreur n'aparraisse pas. Est ce que c'est possible ? Il y t-il une solution ?

OUI.
La solution est de rediriger la sortie erreur vers un fichier ou vers "rien" (/dev/null).

commande > fichier : redirige la sortie "normale" vers un fichier
commande 2> fichier : redirige la sortie erreur vers un fichier

tu peux mixer les 2 :
commande > fichier1  2> fichier2 : chaque type de sortie à son fichier
commande > fichier1  2>&1 : La sortie 'erreur' va au même endroit que la sortie "normale"

si tu veux que le fichier ne soit pas écraser à chaque exécution : c'est >> au lieu de > .

tu peux rediriger vers un "trou noir" : /dev/null

Donc si tu fais commande > /dev/null : ça devrait fonctionner comme tu le veux.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#3 Le 30/03/2017, à 11:58

pingouinux

Re : Supprimer message d'erreur de la commande mv

Bonjour,
Tu peux éventuellement montrer ton script.

Hors ligne

#4 Le 30/03/2017, à 12:02

ar barzh paour

Re : Supprimer message d'erreur de la commande mv

il peut être intéressant de tester si le fichier cible existe déjà

 ! [[ -e $cible ]] && mv "$source" "$cible"

ou bien

if [[ -e "$cible" ]]
then 
    <faire quelque chose ou non>
else
   mv "$source" "$cible"
fi

PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#5 Le 30/03/2017, à 16:04

Watael

Re : Supprimer message d'erreur de la commande mv

ar barzh paour a écrit :

tester si le fichier cible existe déjà

+1


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#6 Le 30/03/2017, à 19:55

Hizoka

Re : Supprimer message d'erreur de la commande mv

En meme temps, le message semble te dire que tu veux renommer un fichier en utilisant le même nom

mv fichier fichier
mv: 'fichier' et 'fichier' identifient le même fichier

Donc soit tu testes comme le dis ar barzh paour, soit tu revois ton code qui ne doit pas être bon.


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

Hors ligne