Tratando de espacio de ensayo en el sistema de archivos en Unix
Pregunta
Tengo que comprobar si existe I del sistema de archivos, y si lo hace existir allí es de 300 MB de espacio en él.
Lo que tengo hasta ahora:
if [ "$(df -m /opt/IBM | grep -vE '^Filesystem' | awk '{print ($3)}')" < "300" ]
then
echo "not enough space in the target filesystem"
exit 1
fi
Esto arroja un error. Realmente no sé lo que estoy haciendo en la cáscara.
Mi mayor prioridad es AIX, pero estoy tratando de conseguir que funcione para HP y Sun también.
Por favor, ayuda.
-Alex
Solución
Este es el código me de trabajo.
if [ "$(df -m /opt/IBM/ITM | awk 'NR==2{print ($3)}')" -lt "300" ]
then
echo "not enough space in the target filesystem"
exit 1
fi
Otros consejos
¿Qué hay de publicar el error? De todos modos, intente la siguiente sintaxis, es decir. entre dobles comillas y no:
if [[ $(...) < 300 ]]; then
...
fi
Desde bash
[[expresión]]
Devuelve un estado de 0 ó 1 dependiendo de la evaluación del condicional expresión expresión.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow