在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分配模式,而不是第一个匹配的文件.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...