Bash通配符使用

时间:2013-09-23 02:24:00

标签: bash

我正在尝试使用rm删除目录中的文件,而不是在脚本中删除目录本身。我看到的例子只在目录本身中执行此操作,我想在不导航的情况下执行此操作。

我试过

rm "$(dirname $1)/filetokeep/*"

但它不起作用。有什么帮助吗?

1 个答案:

答案 0 :(得分:6)

引用通配符会抑制扩展。

rm -- "$(dirname -- "$1")/filetokeep"/*

使用--可确保不能将值解释为可选参数而不是位置参数(如果$1中指定的目录以-开头,那么事情仍然有效)。