在Bash中从命令行读取glob

前端之家收集整理的这篇文章主要介绍了在Bash中从命令行读取glob前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从命令行读取Bash中的glob?我尝试了这个,它只获取了glob中的第一个文件
#!/bin/bash
shopt -s nullglob
FILES=$1
for f in $FILES
do
  echo "Processing $f file..."
  echo $f
done

假设我的脚本是script.sh.我想把它称为sh script.sh / home / hss / * 4 gz
(其中/ home / hss / *,4和gz是命令行参数).当我尝试上面的脚本时,它只读取第一个文件.有任何想法吗?

调用脚本时,您需要引用包含shell元字符的任何参数,以避免路径名扩展(由您当前的shell):
sh script.sh "/home/hss/*" 4 gz

因此,将为$1分配模式,而不是第一个匹配的文件.

猜你在找的Bash相关文章