• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
script informazioni sistema bash

Bash Script Informazioni Sistema
#1
Introduzione

La Shell del sistema é il tool piú potente che ho potuto usare nei Sistemi operativi Gnu/Linux. Specificamente, Bash  (acronimo per bourne again shell) è una shell testuale del progetto GNU usata nei sistemi operativi Unix e Unix-like.

Obbiettivo

Data la flessibilitá della Shell Bash per creare script eseguibili. Di seguito si riporta uno script "fatto in casa" che ci fornisce info generali sulla nostra Raspberry.

Contenuto dell Script

Contenuto dello script che ho chiamato infosystem.sh

Citazione:#!/bin/bash
#
#This is a script to display important information about your system
#
# Script by Salvatore Cristaudo
#

#Globlal Declarations#

# dichiarare variabili per i colori
LRED="\e[1;31m"
LGREEN="\e[1;32m"
LBLUE="\e[0;90m"
Z="\e[0m"
# fine variabili colori

#Dichiarare variabili da mostrare
operatingsystem=`cat /etc/*-release | grep PRETTY_NAME | awk 'BEGIN {FS = "="} ; {print $2}'`
uptime=`uptime | awk '{print $3, $4, $5}'`
cpuused=`top | head -n 3 | awk '/Cpu/ {print $2}'`
usedram=`free -h | awk '/Mem/ {print $3}'`
cachedram=`free -h | awk '/Mem/ {print $7}'`
totram=`free -h | awk '/Mem/ {print $2}'`
usedhd=`df -H | head -n 2 | tail -n 1 | awk '{print $3}'`
tothd=`df -H | head -n 2 | tail -n 1 | awk '{print $2}'`
ipaddr=`ifconfig wlan0 | head -n 2 | awk '/inet/ {print $2}' | awk 'BEGIN {FS = ":"} ; {print $2}'`
modelcpu=`cat /proc/cpuinfo | head -n 5 | awk 'BEGIN {FS = ":"} ; /model name/ {print $2}'`
arch=`arch`
numberps=`ps -fea | wc -l`
inodes=`df -i | head -n 2 | tail -n 1 | awk '{print $5}'`
kernelversion=`uname -r`
pacchetti=`dpkg -l | wc -l`
data=`date +"%Y-%m-%d %T"`
tempcpu=`vcgencmd measure_temp`
# fine

clear # pulire schermo

## Sanity checks ##
#Controlla se il Sistema usa la shell Bash. In caso contrario aborta script
if
[ "$SHELL" != "/bin/bash" ];
then
echo "Please run this script with the BASH shell"
exit
fi
## Fine Sanity checks##

#Saluti iniziali script
echo ""
echo -e "Hi" $LRED"$USER"$Z, "Welcome to gnu-linux script." "$data"
#stampa valore variabili su std/output
echo -e " "$LBLUE"__________________________________________________________$Z"
echo -e " " $LRED"IP..............:$Z" "$ipaddr"
echo -e " ""$LRED"Hostname........:$Z" "$HOSTNAME""
echo -e " "$LRED"OS..............:$Z" "$operatingsystem"
echo -e " "$LRED"Kernel..........:$Z" "$kernelversion"
echo -e " "$LRED"Arch............:$Z" "$arch"
echo -e " .--. " $LBLUE"__________________________________________________________$Z"
echo -e " |$LRED"o$Z"_$LRED"o$Z" | "$LRED"Uptime..........:$Z" "$uptime"
echo -e " |\_/ | " $LRED"Active Proceses.:$Z" "$numberps"
echo -e " // \ \ " $LRED"PWD.............:$Z" "$PWD"
echo -e " (| | ) "$LBLUE"__________________________________________________________$Z"
echo -e " /'\_ _/'\ "$LRED"Model CPU........:$Z""$modelcpu"
echo -e " \___)=(___/ "$LRED"Used CPU.........:$Z" "$cpuused""%"
echo -e " "$LRED"Temp CPU.........:$Z" "$tempcpu"
echo -e " "$LBLUE"__________________________________________________________$Z"
echo -e " "$LRED" Used RAM.........:$Z" "$usedram""b" "/" "$totram""b total"
echo -e " "$LRED" Cached...........:$Z" "$cachedram""b"
echo -e " "$LRED" Used HD..........:$Z" "$usedhd""b" "/" "$tothd""b total"
echo -e " "$LRED" Inodes...........:$Z" "$inodes"
echo -e " "$LBLUE"__________________________________________________________$Z"
echo ""
#Fine script
exit 0


Creare Script Bash

Mediante shell  creamo il file di con estensione “.sh” :

vi infosystem.sh

Oppure aprite un file di testo (gedit, notepad etc) e copiate all'interno il contenuto senza dimenticare che la prima stringa deve essere #!/bin/bash e che il file va salvato con l'estenzione "sh".

Di seguito aggiungiamo i permessi per rendere lo script eseguibile:


chmod  +x  infosystem.sh

Spostiamo lo script su /usr/local/bin (una delle directory della variabile $PATH) per renderlo accessibile da qualsiasi directory. Il PATH indica alla shell dove sono programmi binari che possono essere eseguiti sul sistema senza dover chiamarli con il loro percorso assoluto.

mv infosystem.sh /usr/local/bin

Eseguire Script

Finalmente per eseguire lo script basta digitare nella shell del sistema : 

infosystem.sh

[Immagine: infosystemraspberri.png]


Conclusioni

Spero che questo script vi possa servire come punto di partenza per l'apprendimento dei comandi shell e per lo Shell-scripting che vi sará molto utile per l'amministrazione del Sistema.
Risposta
#2
Complimenti!
Risposta
#3
Smile 
Grazie Zzed
Sono contento che ti sia piaciuto. Ormai faccio quasi tutto direttamente dalla Shell  Wink

Saluti
Risposta
  


Vai al forum:


Navigazione: 2 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect