Chaque fois que la correspondance du modèle glob échoue, il arrête la totalité du travail. Par exemple,Dégradation gracieuse pour la globalisation sur le terminal
$ mv *.jpg *.png folder1 && blahblah
mv: cannot stat `*.jpg': No such file or directory
* .png n'est pas déplacé dans le dossier1 et blahblah n'est pas exécuté.
Et le script ci-dessous ne fonctionne que dans les cas où. [A-z] * et * réussissent. Comment est-ce que je fais grincer la globbing gracieusement, tout au plus affichant seulement des avertissements, mais n'arrêtant jamais le travail?
nullglob résout la plupart du problème, mais pas tout à fait; Si aucun des globs ne correspond, vous obtenez quelque chose comme 'mv folder1 && blahblah' (vous obtenez un message d'utilisation de mv, et blahblah ne fonctionne pas). Le résoudre complètement est plus compliqué, en partie parce que vous devez définir ce qui devrait arriver s'il n'y a pas de fichiers à utiliser. Vous finissez par faire des choses comme 'file_list = (*. Jpg * .png); if [[$ {# file_list [@]} -gt 0]]; alors mv "$ {file_list [@]}" dossier1 && ... ' –