2010-09-28 5 views
1

Comment supprimer certains fichiers d'un autre répertoire que $PWD à l'aide du script shell bash.Supprimer le fichier d'un autre répertoire

regardant le documentation pour rm, il semble que rm ne fonctionne que dans $PWD.

Suis-je obligé d'utiliser cette méthode:

oDir=$PWD 
cd directorytoremovefiles 
rm files 
cd oDir 
+2

avez-vous essayé "rm directorytoremovefiles/files"? – YYC

+0

@Jason: '$ PWD' est fourni * par * Bash. –

+0

a appris quelque chose de nouveau ... merci Dennis :) –

Répondre

2

rm fait certainement travailler pour la suppression de fichiers dans un autre répertoire.

Tout ce que vous a donné cette idée de la page de l'homme, je l'espère, c'est certainement pas ceci:

rm supprime chaque fichier spécifié. Par par défaut, il ne supprime pas les répertoires .

La documentation que vous faites référence, ne parle que d'avoir écriture & execute l'autorisation dans le répertoire que vous supprimez de.

Alors il vous suffit:

rm directorytoremovefiles/files 
0

rm prendra tout chemin, relatif ou absolu. S'il n'y a pas de barre oblique au début de directorytoremovefiles, il s'agit d'un chemin relatif et vous devrez peut-être stocker PWD pour plus tard. Cependant, vous pouvez le faire avec pushd et popd ou cd - une fois que vous avez terminé. Ou, si vous exécutez les commandes cd et rm dans parens, ils s'exécuteront dans un sous-shell, comme ceci: (cd directory; rm files) alors votre shell de travail ne changera pas de répertoire.

Questions connexes