查找选项作为命令行参数

查找选项作为命令行参数

我的脚本有问题。我正在尝试编写一个脚本,其中命令 find 的选项是第一个命令行参数。

在我的脚本中我有类似的东西

find_option=$1

find $find_option

问题是,例如对于查找选项,*.txt输出只是我的目录中的第一个文本文件,但我想找到所有此类文件。

谢谢

答案1

假设你给你的脚本提供这样的模式,

./myscript '*.txt'

(引号是必要的,以避免将模式扩展到当前目录中的名称),那么您可以像这样编写脚本:

#!/bin/sh

name_pattern=$1

find . -name "$name_pattern"

这采用第一个命令行参数并在对 的调用中使用它find,按给定模式过滤在当前目录及以下目录中找到的名称。

请注意,这里您也需要$name_pattern在调用中引用变量扩展find,其原因与调用脚本时需要在命令行上引用它的原因相同,即避免将模式扩展为当前目录中的名称。

相关内容