Kode: Vælg alt
#!/bin/bash
if [ -z "$2" ] ; then
S=10
else
S=$2
fi
if [ -z "$1" ]; then
X=0
R=1
else
X=$1
R=0
fi
while [ "$R" -ne "$X" ] ; do
TIME=$(date +%H.%M:%S)
FREE=$(free -m | grep Mem | awk '{ print $3 }')
TOTA=$(free -m | grep Mem | awk '{ print $2 }')
R=$((R+1))
if [ "$X" -eq 0 ] ; then
R=$((R-1))
echo "Klokken $TIME er der brugt $FREE megabyte ram ud af $TOTA (Kørsel $R)"
R=$((R+1))
else
echo "Klokken $TIME er der brugt $FREE megabyte ram ud af $TOTA (Kørsel $R af $X)"
fi
if [ "$R" -eq "$X" ] ; then
exit 0
fi
sleep $S
done
exit 0
Det kan kaldes med op til 2 valgfrie talværdier, hvor den første vil være hvor mange gange scriptet skal køre, og det andet hvor lang pause der skal være i sekunder, imellem hver kørsel. Kalder man scriptet uden værdier, så vil det køre hvert 10. sekund, indtil det bliver afbrudt.
Hvis man selv vil bestemme hvor længe scriptet skal vente imellem hver kørsel, men ikke vil sætte antal på hvor mange kørsler sciptet skal lave, så sættes antallet af kørsler bare til en negativ værdi, fx -1, så kører scriptet til det bliver afbrudt manuelt.
Kode: Vælg alt
titanus@ubuntudk:~$ <script-navn> -1 180
Klokken 09.55:13 er der brugt 596 megabyte ram ud af 1024 (Kørsel 1 af -1)
Klokken 09.58:13 er der brugt 575 megabyte ram ud af 1024 (Kørsel 2 af -1)
...