[Bash] Script - Gerer les droits

21g -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
dans un script, lors d'une commande find, si le script n'a pas été executé avec les bons droits, j'ai le droit au jolie message find: "chemin": Permission non accordée

J'aimerai savoir comment gérer ce problème, par exemple vérifier le sdroits au lancement, mais je ne sais pas quoi mettre dans mon if, quelle commande exécuter ?

En esperant avoir été clair, merci d'avance :)
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Il te suffit de diriger les messages d'erreurs vers "/dev/null" :

find / -type f -name "blabla" -print 2>/dev/null

0
21g
 
Merci, mais le problème est qu'avec cette manipulation tout les messages d'erreur sont "cachés" donc s'il y a un autre probleme, le message ne sera pas afficher.
Je cherche plutot à signaler à l'utilisateur qu'il n'a pas les droits suffisants pour chercher dans le dossier et par conséquent le script se ferme, ou qqchose comme ca ^^
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
je peux ignorer les dossiers dont je n'ai pas le droit de lecture
$ pwd
/etc 
$ find . -name "*allow*" -ls
find: `./chatscripts': Permission denied
find: `./cups/ssl': Permission denied
171834    4 -rw-r--r--   1 root     root          579 Apr 20  2009 ./hosts.allow
find: `./ppp/peers': Permission denied
find: `./ssl/private': Permission denied
$  
$  find . ! -perm -004 -prune  -o -name "*allow*" -ls
171834    4 -rw-r--r--   1 root     root          579 Apr 20  2009 ./hosts.allow
$
0