Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bash: Wie Zahl aus Datei u. aus Kommandoausgabe einlesen?



nobody0
05-09-2005, 12:58
In einem Bash-Skript brauche ich denjenigen Runlevel, den runlevel ausgibt (genauer: die letzte Ziffer), und zwar als Zahl.
Und aus /proc/uptime brauche ich die Uptime (die erste Zahl als Ganzzahl).
Irgendwelche Vorschläge? :confused:

peschmae
05-09-2005, 15:39
so?



RL=$(runlevel | awk '{ print $2 }')
UT=$(awk '{ print $1 }' /proc/uptime)

MfG Peschmä

nobody0
05-09-2005, 19:36
Danke, aber das funktioniert nur halb, da die uptime nicht richtig eingelesen wird:



#!/bin/sh

RL=$(/sbin/runlevel | awk '{ print $2 }')
UT=$(awk '{ print $1 }' /proc/uptime)

if [ $RL -ge 3 -a $RL -le 5 ] ;
then
echo "3 <= runlevel <= 5"
fi

if [ $UT -gt 60 ] ;
then
echo "uptime > 60 s"
fi

exit 0


Wie bekomme ich die Uptime? :confused:

peschmae
06-09-2005, 08:04
Wie nicht richtig? Da steht dann halt die Zahl drin...


Axo. Das da geht nicht:
if [ $UT -gt 60 ] ;
weil $UT keinen INT enthält sondern eine Kommazahl. Test versteht aber nur Ints.

Dann nimmst du halt ein
UT=$(sed "s#\..*##" /proc/uptime)


MfG Peschmä

nobody0
06-09-2005, 08:40
Ja, funktioniert, danke :)