Autore dello script: Psykopear | Sito Web: http://psykopear.altervista.org/
Lo script si chiama S.I.R.M.2 che significa Script Install & Remove Manager. Il suo scopo, infatti, è quello di installare e rimuovere in modo semplice gli script bash nella cartella /usr/local/bin/.
Ecco il codice sorgente:
#!/bin/bash
#Crea le cartelle necessarie allo script se non esistono
if [[ ! -d "$HOME/backup/" ]]
then
mkdir $HOME/backup/
chmod 777 $HOME/backup/
echo "Creata la cartella $HOME/backup/"
fi
if [[ ! -d "$HOME/script/" ]]
then
mkdir $HOME/script/
chmod 777 $HOME/script/
echo "Creata la cartella $HOME/script/"
fi
# Verifica che l'utente abbia permessi di root
ROOT_UID=0
if [ "$UID" != "$ROOT_UID" ]
then
echo "Devi essere root per eseguire questo script. (Utilizzare sudo per un uso corretto)"
exit
fi
#Qui sotto le funzioni di sirm2
usage () {
echo "Questo è l'help di sirm2:
Una volta avviato, segui le istruzioni per eseguire le operzioni richieste
Nota: è necessario avere sudo attivato e funzionante per poter utilizzare sirm2. Se così non è, digita
sirm2 --sudocfg
Da root per far partire la configurazione guidata di sudo
Nota2: per funzionare correttamente, la directory /usr/local/bin/ deve essere settata come path environment. Se così non è, digita
sirm2 --pathcfg
da utente per configurarlo automaticamente"
exit 1
}
pathcfg() {
echo "Aggiungo la rigadi configurazione al file ~/.bashrc"
sleep 2
echo "
#Riga aggiunta da sirm2 per rendere /usr/local/bin path d'ambiente
export PATH=$PATH:/usr/local/bin" >> $HOME/.bashrc
echo "Configurazione completata, controlla il file ~/.bashrc per chiarimenti"
exit 1
}
sudocfg () {
echo "Questa è la configurazione guidata di sudo"
echo "Digita il tuo nome utente"
read nomeutente
echo "Digita nuovamente per confermare che sia corretto"
read nomeutente2
if [[ $nomeutente == $nomeutente2 ]]
then
echo "Aggiungo la riga di configurazione nel file /etc/sudoers...."
sleep 2
echo "$nomeutente ALL=(ALL) ALL" >> /etc/sudoers
echo "La configurazione è completata, ora puoi utilizzare sirm2 correttamente con il comando 'sudo sirm2'"
exit 1
else
echo "I nomi digitati non sono uguali"
exit 1
fi
}
#Qui sotto l'utilizzo delle funzioni
while [[ "$1" != "" ]]; do
case "$1" in
"-h" ) usage ;;
"--help" ) usage ;;
"--sudocfg" ) sudocfg ;;
"--pathcfg" ) pathcfg ;;
"-*" ) usage ;;
esac
shift
done
#Qui sotto sirm e le sue utilita'
echo "SIRM 2. Script Install & Remove Manager versione 2.3"
echo "Cosa vuoi fare?"
echo "1) Installare uno script (deve essere in $HOME/script/)"
echo "2) Rimouvere uno script"
echo "3) Fare il backup di uno script in $HOME/backup/ "
echo "4) Ripristinare uno script salvato in $HOME/backup/ "
echo "5) Aprire uno script nella cartella $HOME/script/ con un editor di testo"
echo "6) Visualizza tutti gli script installati in /usr/local/bin/"
echo "7) Uscire"
echo "Digita il numero corrispondente all'operazione"
read scelta
case $scelta in
1)
echo "Digita il nome dello script da installare"
read elencoscript
chmod +x $HOME/script/$elencoscript
cp $HOME/script/$elencoscript /usr/local/bin/;
echo "Installati gli script sul tuo computer";
echo "Ora puoi avviarli digitandone il relativo nome (script1, script2 ecc)";
;;
2)
echo "Digita il nome dello script da rimuovere"
read elencoscript
rm /usr/local/bin/$elencoscript
echo "Rimossi gli script sul tuo computer"
echo "Fine"
;;
3)
echo "Digita il nome dello script (che deve essere in $HOME/script/ )"
read miofile
cp $HOME/script/$miofile $HOME/backup/
echo "Script salvato"
;;
4)
echo "Digita il nome dello script di backup che vuoi ripristinare"
read script
cp $HOME/backup/$script /usr/local/bin/
echo "Script ripristinato"
;;
5)
echo "Digita il nome dello script che vuoi aprire"
read script
echo "Ora digita il nome del tuo editor di testo preferito (per esempio nano, gedit, kwrite)"
read editor
if [[ -z "$editor" ]]
then
default=nano
esiste_def=$(whatis "$default" | grep \/)
if [[ -z "$esiste_def" ]]
then
$default $HOME/script/$script &
exit
else
$editor $HOME/script/$script &
fi
fi
exit
;;
6)
echo "Ecco gli script installati sotto /usr/local/bin/"
ls /usr/local/bin
;;
7)
echo "Ciao"
exit
;;
*)
echo "input non valido"
exit
;;
esac
Per utilizzare lo script si rimanda alla pagina web del manuale.