Bash 通配符的使用

标签 bash

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

我试过了

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

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

最佳答案

引用通配符会抑制扩展。

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

使用 -- 确保值不能被解释为可选参数而不是位置参数(这样如果 $1 中命名的目录以-).

关于Bash 通配符的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18950931/

相关文章:

OSX 上的 Java 文件限制低于 bash

bash - 如何使用 rsync 轮换每日备份?

bash - 退出我的脚本中调用的程序

bash nohup 有两个命令

bash - 为什么 AWK 在 makefile 中不能正常工作?

linux - 将输出存储在变量中并在命令中使用变量

bash - 即使其中的一个操作失败,也继续执行命令

string - 找到模式并将其移至行尾

arrays - foreach 在 bash 中遍历关联数组只返回最后一个元素

Linux命令查找用法混淆