终端上的globbing的优雅降级

时间:2009-10-20 18:27:27

标签: bash shell terminal glob graceful-degradation

每当glob模式匹配失败时,它就会停止整个作业。例如,

$ mv *.jpg *.png folder1 && blahblah
mv: cannot stat `*.jpg': No such file or directory

*。png未移至folder1且未运行blahblah。

以下脚本仅适用于两者都有的情况。[A-z] *和*成功。

#!/bin/bash
cd $1
du -sk .[A-z]* *| sort -rn | head

如何使globbing优雅地失败,最多只显示警告,但永远不会停止工作?

2 个答案:

答案 0 :(得分:5)

在Bash中,shopt -s nullglob将允许失败的glob扩展为空,没有错误。

答案 1 :(得分:0)

然后使用循环。 KISS

for files in jpg png
do
  mv *.${files} /destination 2>/dev/null && do_something 
done