Linux
如何驗證 /var 上至少有 XG 可用空間
我們有以下 df -h 輸出
[root@trump var]# df -h | grep "/var" /dev/mapper/vg-lvm_var 101G 85G 17G 84% /var
如何在 bash/awk/perl 一行中驗證 /var 上至少有 10G 可用空間
同時我寫了這個語法:
[[ ` df -h | grep "/var" | awk '{print $4}' | sed s'/G//g' ` -lt 10 ]] && echo "/var need at least 10G"
但這種語法並不優雅和醜陋,也許我錯過了一些規則
使用足夠新的 GNU ,您可以使用該選項
df
僅提取可用空間。--output
您可以將其餘部分與 awk 進行比較:$ df -k --output=avail /var | awk 'NR == 2 && ($1 < 10*2**20) {print "/var need at least 10G"}' /var need at least 10G
即使沒有這個,如果你想獲得一個特定的文件系統,最好不要這樣做
df /var
(df | grep /var
除非你想抓住什麼都沒有掛載的情況/var
)。要使用 bash 基於此執行其他命令,請使用
(( ))
算術上下文:if (( $(df -k --output=avail /var | tail -1) < 10*2**20 )) then log "/var need at least 10G" fi