26/05/2016, 21:46
(Questo messaggio è stato modificato l'ultima volta il: 26/05/2016, 21:52 da salvatore.)
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
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
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.
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
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.