前端之家收集整理的这篇文章主要介绍了
在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分配模式,而不是第一个匹配的文件.