【发布时间】:2014-07-02 23:51:05
【问题描述】:
在 ubuntu 机器上运行的 bash 脚本中,我有以下简单循环
for f in ~/logs/*.log
do
echo "processing $f"
done
如果目录~/logs 中有文件匹配该模式,它会按预期工作,即我得到
processing /home/foo/logs/a.log
processing /home/foo/logs/foo.log
processing /home/foo/logs/3.log
但是当目录为空时,它会将~/logs/*.log 视为唯一要迭代的项目,所以我得到了这个
processing /home/foo/logs/*.log
如何更改它,以便在这种情况下它产生一个空的迭代列表,因此永远不会进入循环?
【问题讨论】: