从不同的目录中删除文件

时间:2010-09-28 17:27:15

标签: bash shell

如何使用bash shell脚本从$PWD以外的其他目录中删除某些文件。

查看rm的{​​{3}},rm似乎仅适用于$PWD

我被迫使用这种方法:

oDir=$PWD
cd directorytoremovefiles
rm files
cd oDir

3 个答案:

答案 0 :(得分:2)

正如YYC指出的那样,

rm $DIR/files 

答案 1 :(得分:2)

rm当然可以删除另一个目录中的文件。

无论是什么从手册页给了你这个想法,我当然希望它这个:

  

rm删除每个指定的文件。通过   默认情况下,它不会删除   目录。

您所引用的文档,仅涉及& 执行对您要删除的目录的权限。

所以你只需要:

rm directorytoremovefiles/files

答案 2 :(得分:0)

rm将采取相对或绝对的任何路径。如果在directorytoremovefiles的开头没有斜杠,则它是相对路径,您可能需要存储PWD以供日后使用。但是,您可以在完成后使用pushdpopdcd -执行此操作。或者,如果您在parens中运行cdrm命令,它们将在子shell中运行,如下所示:( cd directory; rm files)那么您的工作shell将不会更改目录。