在Bash脚本中,为一个变量赋一个glob表达式,可以使用以下方法:
pattern='*.txt'
files=( $pattern )
这里,我们将glob表达式存储在变量pattern
中,然后使用双括号扩展将其扩展为所有匹配的文件名,并将它们存储在数组files
中。
shopt
命令启用nullglob
选项:shopt -s nullglob
pattern='*.txt'
files=( $pattern )
这里,我们首先使用shopt
命令启用nullglob
选项,这将导致在没有匹配的文件名时不会将glob表达式本身存储在数组中。然后,我们将glob表达式存储在变量pattern
中,并使用双括号扩展将其扩展为所有匹配的文件名,并将它们存储在数组files
中。
find
命令:pattern='*.txt'
files=( $(find . -maxdepth 1 -type f -name "$pattern") )
这里,我们使用find
命令查找所有匹配的文件名,并将它们存储在数组files
中。
这些方法都可以在Bash脚本中为一个变量赋一个glob表达式,并将匹配的文件名存储在数组中。
领取专属 10元无门槛券
手把手带您无忧上云