使用 Bash 脚本删除 Ubuntu MATE 21.04 中隐藏目录内的二级目录中的所有文件

使用 Bash 脚本删除 Ubuntu MATE 21.04 中隐藏目录内的二级目录中的所有文件

我在 AskUbuntu 和其他地方浏览过不少帖子,但听起来,它们都是关于删除隐藏文件的,而我试图:

从隐藏目录内的非隐藏目录中删除非隐藏文件

我喜欢/home/admn/.cache/thumbnails/normal/使用 Bash 脚本删除目录内的所有文件。

我创建的简单脚本:

sudo nano /usr/local/scripts/test.sh

#!/bin/bash

shopt -s dotglob

rm '/home/admn/.cache/thumbnails/normal/*'

shopt -u dotglob

注意:正如建议的那样,我尝试"在脚本中使用双引号,但仍然出现相同的错误。

sudo chmod +x /usr/local/scripts/test.sh

我收到的错误:

rm: cannot remove '/home/admn/.cache/thumbnails/normal/*': No such file or directory

谢谢。

答案1

单引号和双引号都不允许扩展 glob *- 需要在引号之外,即

rm '/home/admn/.cache/thumbnails/normal/'*

或者

rm "/home/admn/.cache/thumbnails/normal/"*

但是,由于您的字符串不包含任何 shell 特殊字符,因此您可以完全省略引号

rm /home/admn/.cache/thumbnails/normal/*

相关内容