Com um novo GNU df
suficiente, você pode extrair apenas o espaço disponível usando a opção --output
. E você poderia o resto da comparação com o awk:
$ df -k --output=avail /var | awk 'NR == 2 && ($1 < 10*2**20) {print "/var need at least 10G"}'
/var need at least 10G
Mesmo sem isso, se você quiser obter um sistema de arquivos específico, é melhor fazer df /var
em vez de df | grep /var
(a menos que você queira capturar o caso de nada ser montado em /var
).
Para executar outros comandos com base nisso, com o bash, use o contexto% ar_mético (( ))
:
if (( $(df -k --output=avail /var | tail -1) < 10*2**20 ))
then
log "/var need at least 10G"
fi