微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐