每當glob模式匹配失敗時,它會停止整個作業。例如,適用於終端的globbing優雅降級
$ 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失敗,最多隻顯示警告,但從不停止工作?
nullglob解決了大部分問題,但不是全部;如果沒有任何一個匹配,你會得到類似'mv folder1 && blahblah'(你從mv獲得一個用法消息,而blahblah不會運行)。完全解決這個問題比較複雜,部分原因是你必須定義在沒有文件可操作時會發生什麼。你最終做了像'file_list =(*。jpg * .png); if [[$ {#file_list [@]} -gt 0]];然後mv「$ {file_list [@]}」folder1 && ...' – 2009-10-20 19:34:58