Austrian Linux Forum

list hardware script

Kategorien: Linux How-Tos
8 Antworten
greggae
greggae am Dienstag, 31. Januar 2006 um 11:13
hallo! da ich öfters mit mir (von der hardwarekonfiguration) unbekannten rechnern zu tun hab, und das zusammensuchen der jeweiligen informationen ziemlich zeitaufwendig ist, habe ich ein kleines script geschrieben, dass eine kurze hardware-summary erstellt. [code] #!/bin/sh # /proc-directory should be mounted # utilities needed: lspci (/proc/pci is deprecated) function printline() { echo -e "**********************************************************************\n" } DATE=`date +%Y-%m-%d_%H:%M` echo "*** hardware listing of: `hostname`, $DATE ***" printline echo -e "CPU:\n" echo "`grep vendor_id /proc/cpuinfo | cut -d : -f 2 | sed -e 's/^ *//g'` `grep name /proc/cpuinfo | cut -d : -f 2 | sed -e 's/^ *//g'`" echo " `grep MHz /proc/cpuinfo | cut -d : -f 2 | sed -e 's/^ *//g'` MHz" echo " `grep cache /proc/cpuinfo | cut -d : -f 2 | sed -e 's/^ *//g'` Cache" printline echo -e "RAM:\n" echo " `grep MemTotal /proc/meminfo | cut -d : -f 2 | sed -e 's/^ *//g'` physical RAM" echo " `grep SwapTotal /proc/meminfo | cut -d : -f 2 | sed -e 's/^ *//g'` swap" printline echo -e "PCI-Bus:\n" echo "`lspci`" printline echo -e "Interrupts:\n" echo "`cat /proc/interrupts`" printline echo -e "Partitions (HDD):\n" echo "`fdisk -l`" printline echo -e "Free diskspace:\n" echo "`df -h`" printline echo -e "Additional Information:\n" echo "Kernel: `cat /proc/version`" echo "Uptime: `uptime`" printline echo -e "Network summary:\n" echo "`ifconfig | grep -A1 -v "^ "`" printline echo -e "Network configuration (complete):\n" echo "`ifconfig`" printline echo -e "****** end of hardware listing. *********\n" [/code] spezialkomfort: ./lshw | enscript -o - | ps2pdf hardware.pdf dieser aufruf erstellt ein pdf file mit der hardwarekonfiguration. vorschläge, verbesserungen, bugreports und kritiken sind gern gesehen!

Kommentare

shevegen
shevegen am Montag, 2. Januar 2006 um 08:23

Sehr gut, das hab ich noch gar nit gesehen.

Eine allgemeine Frage, wie bringe ich eigentlich Farben da rein?
Ich will da jetzt nit alles mit Farben bekleckern, allerdings
wäre es nett, Netzwerk Info von Sys/CPU/RAM Info abzutrennen etc.

shevegen
shevegen am Montag, 9. Januar 2006 um 12:38

Und ein paar Tage später kann ich meine eigene Frage beantworten. :)

Hab mich wieder mit Farben beschäftigt, und diesmal hab ich es verstanden.


Die Option echo interpretiert escape sequenzen wenn man sie mit der
option -e aufruft

echo -e


Ok, Beispiel, Definition von ein paar Farben:

export red="\033[1;31;40m"
export green="\033[1;32;40m"
export yellow="\033[1;33;40m"
export brown="\033[0;33;40m"
export darkblue="\033[0;34;40m"
export blue="\033[1;34;40m"
export magenta="\033[1;35;40m"
export cyan="\033[1;36;40m"
export white="\033[1;37;40m"


Nutzen kann man dies zb mit

echo -e "$blue Test $yellow Test $darkblue Test"

Und ein paar meiner Scripts hab ich farblich nun verschönert.

Eine Frage habe ich noch, nämlich wie speichere ich den Default Wert
der Farben, so dass ich wieder auf den Original Wert zurückspringen kann?
(Angenommen die Farbe ist rot, dann ändere ich das ganze auf blau, nun will ich wieder auf rot zurück, ohne das ich aber "rot" explizit angeben will - lieber wäre eine variable, die den ausgangswert speichert)

theEdge
theEdge am Dienstag, 10. Januar 2006 um 16:40

ins blaue getippt irgendwo in den settings der shell

zb. globale bash-definitionen in /etc/profile oder so was...

shevegen
shevegen am Mittwoch, 11. Januar 2006 um 13:26

ok aber wie mache ich das ?
hmm

shell script magic is noch immer ein unentdecktes Land für mich

greggae
greggae am Dienstag, 17. Januar 2006 um 19:09

die /etc/profile wird beim starten jeder shell ausgeführt - also da einfach deine exports reinschreiben und eine neue shell starten.

Markus René Einicher
Markus René Einicher am Donnerstag, 19. Januar 2006 um 09:45

Hja, das teht auch im LFS Buch so drin lieber shev ;)
Hatte angenommen das wär sowas wie dein Bibel hä?

shevegen
shevegen am Donnerstag, 19. Januar 2006 um 22:27

Hmm scheint so als ob das beim starten eines neuen tabs der konsole nit so wäre (das /etc/profile gesourced wird)

Und die LFS ist ganz sicherlich nicht meine Bibel. ;)
LFS ist besser als gar nix, aber wenn du mal ins linuxquestions.org forum reinschaust siehst immer wieder Fragen die dort auftauchen, und im LFS Buch kaum tangiert werden.

Mein Ziel wäre es, ein flexibleres wiki-like LFS Buch zu haben, wo auch der User seine Kommentare reinschreiben kann, und mit Möglichkeiten für detailliertere Information.

Es gibt zb einige sehr gute LFS Tipps zb Package Management mit Package Name -> User
und noch vieles. Die sollten auch eingebaut werden. :)

reini123
reini123 am Dienstag, 31. Januar 2006 um 11:13

hi,
also warum du die farben exportierst versteh ich nicht?
willst du sie nur in dem script oder generell auf der konsole ?
hab mich auch mal mit den farben rum gespielt :lol:
mal 100000 moeglichkeiten:
[code]for f in 0 1 2 3 4 5 6 7 8 9;do for e in 0 1 2 3 4 5 6 7 8 9;do for d in 0 1 2 3 4 5 6 7 8 9;do for c in 0 3 46 7 8 9;do for a in 0 1 2 3 4 5 6 7 8 9;do for b in 0 1 2 3 4 5 6 7 8 9;do echo -e '\033['$f''$e';'$d''$c';'$a''$b'mecho -e '"'"'\\033['$f''$e';'$d''$c';'$a''$b'm ist diese farbe'"'"';tput sgr0';tput sgr0;done;done;done;done;done;done[/code]
es gehen aber auch andere sachen mit escapesequencen,
zb,
[code]#!/bin/sh
clear
b=10
while :
do
let a=a+1
if [ "$a" == "$b" ]
then
let b=b+1
if [ "$b" == "134" ]
then
break
fi
a=1
fi
echo -e "\033[1d\033["$a"a\033[30mt\033[31m Reini\033[0m"
done
a=0
b=10
while :
do
let a=a+1
if [ "$a" == "$b" ]
then
let b=b+1
if [ "$b" == "130" ]
then
break
fi
a=1
fi
echo -e "\033[1d\033["$a"a\033[30mt\033[31mmfg\033[0m"
done[/code]

was ich aber eigentlich sagen wollte ... die idee mit dem hardwarescript hatte ich auch mal :wink:
sie Dir mal [url]www.call4wall.com/bash/syscheck/syscheck[/url] an, vielleicht kannst was verwenden :D

Mƒg ®êïñï