Android/Linux:删除包含@的多个文件,但有2个文件除外

Android/Linux:删除包含@的多个文件,但有2个文件除外

我正在尝试使用终端仿真器或 Termux 删除位于 /data/dalvik-cache/arm 的文件。我想删除除以下两个文件之外的所有文件:“system@[电子邮件保护]“和”系统@[电子邮件保护]“。问题在于文件名称中出现了两次特殊字符“@”。

我的目标是为 bash 编写一个非常基本的脚本,在其中我只需挂载系统,删除除那两个之外的所有内容,卸载并重新启动。有人能帮我吗?我对这一切都很陌生。我搜索了许多网站和手册页,但没有找到混合删除多个包含特殊字符的文件并同时排除一些文件的方法。

这是我正在尝试的:

#/system/bin/sh
mount -o rw,remount,rw /system
cd /data/dalvik-cache/arm
shopt -s extglob
rm -v !("system@[email protected]"|"system@[email protected]")        --> Syntax error
mount -o ro,remount,ro /system
reboot

如图所示,该rm命令(带有扩展通配符)出现“语法错误”。

答案1

  1. 脚本的第一行是注释。如果您希望它是“she-bang”,则它必须以 开头#! (您省略了!)。
  2. …那么如果你说的话,效果可能会更好#!/system/bin/bash

相关内容