Catégorie:Trucs Shell

De Lea Linux
Révision datée du 18 mars 2007 à 21:33 par Panthere noire (phorum) (discussion | contributions) (Supprimer avec rm avec un filtre par utilisateur)
Aller à la navigation Aller à la recherche

Les commandes du shell, leurs paramètres, les scripts...

Trucs: Tester une réponse sans se soucier si la réponse est vide

Il arrive parfois qu'on fasse saisir une réponse read rep

Puis, on veut tester si la réponse est "o" if test $rep = o

Le pb, c'est que si l'utilisateur tape "return" sans saisir de réponse, la variable "rep" est vide... et le test devient bancal car il lit if test = o Erreur de syntaxe, l'option "=" veut absolument 2 opérandes

La solution: Encadrer la variable et la valeur par des guillemets if test "$rep" = "o"

Même si "rep" est vide, le shell verra if test "" = "o" Et là, il aura bien ses deux opérandes à comparer l'un par rapport à l'autre.

Supprimer avec rm avec un filtre par utilisateur

Supprimer avec rm avec un filtre par utilisateur

il y a 2 méthode , la première étant la moins propre. Mai plus rapide.

  1. !/bin/sh
  2. la première
  3. find "$p" -user "tnt" -print0 | xargs -0 /bin/rm -f 2>/dev/null && find "$p" -user "tnt" -print0 | xargs -0 /bin/rmdir -p 2>/dev/null
  1. la deuxième
  2. find "$1" -user "$2" -exec /bin/rm -vf '{}' \; 2>/dev/null && find "$1" -user "$2" -exec /bin/rmdir -p '{}' \; 2>/dev/null

Ceci évite de supprimer des fichier qui appartiennes a un autres utilisateur par exemple root, ou un fichier qui aurai les droits 0777 d'un autres utilisateur.

Simple et plus sure que de faire un rm -r ./*

Pages dans la catégorie « Trucs Shell »

Cette catégorie comprend 39 pages, dont les 39 ci-dessous.