Comment supprimer les messages d'erreur de cp?

Je cherche actuellement des moyens de supprimer la command d'erreur sous Linux, en particulier, la command cp .

Je fais:

 root@ubuntu:~$ cp /srv/ftp/201*/wha*/*.jj ~/. cp: cannot stat `/srv/ftp/201*/wha*/*.jj': No such file or directory 

Comment supprimer le message d'erreur affiché à l'écran? C'est-à-dire, je ne veux pas voir ce message d'erreur sur mon moniteur.

Pour supprimer la sortie d'erreur dans bash , ajoutez 2>/dev/null à la fin de votre command. Cela redirige le descripteur de file 2 (STDERR) vers /dev/null . Il existe des constructions similaires dans d'autres coquilles, bien que la construction spécifique puisse varier légèrement.

Redirigez le message d'erreur (STDERR) vers /dev/null :

 root@ubuntu:~$ cp /srv/ftp/201*/wha*/*.jj ~/. 2>/dev/null 

Exemple:

 $ cp /srv/ftp/201*/wha*/*.jj ~/. ##Error message gets printed cp: cannot stat '/srv/ftp/201*/wha*/*.jj': No such file or directory $ cp /srv/ftp/201*/wha*/*.jj ~/. 2>/dev/null ##No error message gets printed 

Votre question n'est pas claire. La chose la plus sensée à faire serait de ne pas exécuter cp du tout lorsque le joker ne correspond à aucun file, plutôt que d'exécuter cp et cacher le message d'erreur.

Pour ce faire, si le shell est bash, définissez l' option nullglob afin que le motif générique ne soit plus rien s'il ne correspond à aucun file. Ensuite, vérifiez si le model est étendu à n'importe quoi et n'appelez pas cp dans ce cas.

 #!/bin/bash shopt -s nullglob files=(/srv/ftp/201*/wha*/*.jj) if [[ ${#files[@]} -ne 0 ]]; then cp "${files[@]}" ~ fi 

En clair, testez si le glob a été laissé inchangé, pointant vers un file inexistant.

 set -- /srv/ftp/201*/wha*/*.jj if ! [ -e "$1" ] && ! [ -L "$1" ]; then cp "$@" ~ fi 

Ajouter ceci dans ~ / .bashrc:

 alias cp='cp 2> /dev/null' 

puis:

 source ~/.bashrc 

vous pouvez utiliser soit:
1 option: 2>/dev/null .
2 option: 2>&1
En outre, vous pouvez l'utiliser à la fin de votre command pour supprimer les messages d'erreur:

Exemple ici-

 $cp nofile.txt b.txt > log.txt 2>/dev/null 

ici, vous ne pouvez pas récupérer d'informations sur le message d'erreur. Ex2:

 $cp nofile.txt b.txt > log.txt 2>&1 

ici vous pouvez récupérer quelques informations à partir du file journal ci-dessous:

 $ cat log.txt cp: cannot stat `nofile.txt': No such file or directory