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

如何用Bash脚本的多个参数构造find查询语句?

实现多关键词不区分大小写的find封装脚本

可以通过bash数组动态构建find命令的参数列表,完美解决参数数量不固定、避免eval以及大括号展开的问题,具体实现如下:

#!/bin/bash

# 初始化参数数组,包含查找起始路径
find_args=(. )

# 遍历所有传入的搜索关键词
for keyword in "$@"; do
    # 向数组中添加-iname选项和带通配符的关键词
    find_args+=(-iname "*${keyword}*")
done

# 执行构建好的find命令
"${find_args[@]}"

说明:

  • 数组find_args会动态接收每个输入的关键词,自动为每个关键词添加-iname选项和前后通配符,支持任意数量的参数输入。
  • 使用"${find_args[@]}"可以确保每个参数被正确解析,即使关键词中包含空格或特殊字符也不会出错,完全规避了eval带来的安全风险。
  • 执行脚本时,输入./myfind.sh first second就会等价于运行find . -iname "*first*" -iname "*second*",输入更多关键词也会自动扩展对应的-iname选项。

内容的提问来源于stack exchange,提问作者Andrew Parks

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:07:35