[Linux] Modification du .profile

Phil -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour à tous.

Voilà, je voudrais modifier mon .profile afin de remplacer la commande rm par la commande mv vers un dossier de mon choix, comment faire ?
j'ai essayé en mettant :
alias   rm='mv \!* /HOME/trash'

mais cela ne marche pas.

Merçi d'avance
A voir également:

5 réponses

Phil
 
bon alors du coup j'ai fait ça (le mérite revient à un célèbre moteur de recherche qui finalement m'a aidé à trouver la solution....)
function rm () {

for i in $*
do         
     
            if [ -e "$i" ] 
            then
               mv $i /HOME/poubelle
               echo -e "Le fichier $i est deplace dans la corbeille"
            else 
              echo -e $i ': Aucun fichier ou repertoire de ce type'
            fi
done
  
}
0
Phil
 
Salut,

Alors, cette méthode fonctionne bien mais lorsque j'efface successivement 2 fichiers portant le même nom le plus ancien est écrasé.
Comment faire pour ajouté automatiquement une sorte d'indice (numéro par exemple) à chaque fichiers pour éviter ce problème.

Si quelqu'un à la solution....Merçi :)
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Essaie plutôt :
for i in "$@"
Petite explication en live :
[jp@MDK tmpfs]$ set a b c
$ echo "$*"
a b c
$ echo "$@"
a b c
$ for i in "$*";do echo "Paramètre : $i";done
Paramètre : a b c
$ for i in "$@";do echo "Paramètre : $i";done
Paramètre : a
Paramètre : b
Paramètre : c
$
;-))
0
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
JP, je pesne qu'il voualit dire:
- Je supprimer toto
- Je créé un nouveau toto
- Je supprime le nouveau toto ...


Plusieures solutions:
mv $i /HOME/poubelle/$i.$(date +%Y%m%d%H%M%S)
Pour suffixer le fichier avec la date (probléme si tu supprimes deux fois le même fichier dans la même seconde) c'est le plus simple, mais pas secure.

D'autres solutions, plus complexes:

Ajouter une numero de serie calculer à partir du dernier numero,
Dans l'ordre de suppression:
mon_fichier.0 (premier fichier supprimé)
mon_fichier.1 (second fichier supprimé)
mon_fichier.2 (...)
mon_fichier.3
Un peu plus complexe encore, même methode mais dans un ordre plus logique, ou du moins attendu:
suppression 1:
mon_fichier.0
suppression 2: (0 devient 1, et le "nouveau" fichier devient 0)
mon_fichier.0 (dernier fichier supprimé)
mon_fichier.1 (premier fichier supprimé)

suppression 3: (1 devient 2, 0 devient 1, etc.)
mon_fichier.0 (dernier fichier supprimé)
mon_fichier.1 (avant dernier fichier supprimé)
mon_fichier.2 (premier fichier supprimé)
etc.
De cette manière, les fichier .0 représenterons toujours la dernière version supprimée, mais cela implique une fonction recursive pour renommer l'ensemble des fichiers du même nom... ça peut être dangereux à la longue sauf a prévoir d'archiver regulièrement l'ensemble du répertoire (une fois par heure dans un dossier 200605121100 pour 11h00, etc.) pour reprendre la numerotation a 0 toutes les heures.

Encore plus complexe, procéder par diff en cas de fichier caractère et par archivage pour des binaire (mais dans ce cas, autant recoder CVS, voire utiliser CVS pour stocker ces fichiers "supprimés" (idée assez comique) ;-))

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Phil
 
Waaaaa, mais c'est parfait tous ça !
Merçi beaucoup vous 2 je pense qu'avec ces infos je vais y arriver facilement.
Jipicy, je voyais pas vraiment le rapport avec mon problème mais c'est énormissime cette info elle me servira surement dans mes prochains scripts.

Merçi encore.
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Oups ;-((

Désolé pour le malentendu et ravi que ça puisse te servir quand même un jour ;-))

==> Adrien : C'est que je me fais vieux et du coup je suis plus long à la détente, et ça va pas aller en s'arrangeant ;-DD
0