Если вы ищете сценарий bash, я только что придумал это.
Возможно, есть более эффективные способы сделать это, но я считаю, что это то, что вы ищете:
#!/bin/bash
# grab the second line of the ouput produced by the command: free -g (displays output in Gb)
secondLine=$(free -g | sed -n '2p')
#split the string in secondLine into an array
read -ra ADDR <<< "$secondLine"
#get the total RAM from array
totalRam="${ADDR[1]}"
#get the used RAM from array
usedRam="${ADDR[2]}"
# calculate and display the percentage
pct="$(($usedRam*100/$totalRam))"
echo "$pct%"
если вы сохраните это в файл (назовите его pct.sh
), вы можете запустить его с помощью
$./pct.sh
33%
Примечание bash
не поддерживает поплавки , только целые числа (IIR C), поэтому точность вычисления округляется.
Если вам нужна большая точность, вам может потребоваться использовать другую оболочку с поддержкой чисел с плавающей точкой, например zsh
Кредит при наличии кредита : создан с помощью: 1 2 3