You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shell/Bash中查找名称动态变化的目标文件夹并存入变量?

在Shell/Bash中查找指定模式的文件夹并存入变量

核心实现方案

要定位/data/app/下前缀为com.tencent.ig-、后缀为==的动态命名文件夹,可通过find命令结合变量赋值完成:

1. 匹配单个目标目录(优先取第一个结果)

如果只需要第一个匹配到的目录,用-quit参数终止查找,避免多结果冲突:

# 查找并赋值给变量
findfolder=$(find /data/app/ -type d -name "com.tencent.ig-*==" -print -quit)

# 验证变量内容
printf "%s\n" "$findfolder"

2. 匹配所有目标目录(存入数组)

如果存在多个符合条件的目录,将结果存入数组便于批量处理:

# 查找所有匹配目录并存入数组
findfolder=($(find /data/app/ -type d -name "com.tencent.ig-*=="))

# 遍历数组查看所有结果
for target_dir in "${findfolder[@]}"; do
    printf "找到目标目录:%s\n" "$target_dir"
    # 这里可添加后续修改操作,例如:
    # cd "$target_dir" && echo "执行目录内容修改操作"
done

注意事项

  • 确保当前用户对/data/app/目录有读取权限,否则find会返回权限错误
  • 若未找到匹配目录,变量会为空,可添加判断避免后续操作出错:
if [ -z "$findfolder" ]; then
    echo "错误:未找到符合条件的目录"
    exit 1
fi

内容的提问来源于stack exchange,提问作者Bang Jago

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 21:30:50