degradación elegante para englobamiento en el terminal
-
22-09-2019 - |
Pregunta
Siempre que el ajuste de patrones glob falla, se detiene todo el trabajo. Por ejemplo,
$ mv *.jpg *.png folder1 && blahblah
mv: cannot stat `*.jpg': No such file or directory
*. Png no se mueve a carpeta1 y blahblah no se ejecuta.
Y a continuación la secuencia de comandos funciona sólo para el caso cuando ambos. [A-z] * y * tener éxito.
#!/bin/bash
cd $1
du -sk .[A-z]* *| sort -rn | head
¿Cómo hacer que falle el englobamiento con gracia, a lo sumo, mostrando advertencias, pero nunca detener el trabajo?
Solución
En Bash, shopt -s nullglob
permitirá un pegote no se expandieron a nada sin errores.
Otros consejos
a continuación, utilizar un bucle. Kiss
for files in jpg png
do
mv *.${files} /destination 2>/dev/null && do_something
done
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow